mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2026-03-09 18:13:30 -04:00
[8.6] Remove suppression, instead explain reporting
This commit is contained in:
parent
34d51f74b7
commit
47d94cb6b0
2 changed files with 29 additions and 32 deletions
28
MISRA.md
28
MISRA.md
|
|
@ -52,9 +52,6 @@ _Ref 8.6.1_
|
||||||
- This rule prohibits an identifier with external linkage to have multiple
|
- This rule prohibits an identifier with external linkage to have multiple
|
||||||
definitions or no definition. FreeRTOS hook functions are implemented in
|
definitions or no definition. FreeRTOS hook functions are implemented in
|
||||||
the application and therefore, have no definition in the Kernel code.
|
the application and therefore, have no definition in the Kernel code.
|
||||||
- Port layer function declarations are provided without corresponding
|
|
||||||
implementations to provide for ease of porting to a device. These definitions
|
|
||||||
cannot be implemented until a port is selected.
|
|
||||||
|
|
||||||
#### Rule 11.1
|
#### Rule 11.1
|
||||||
MISRA C:2012 Rule 11.1: Conversions shall not be performed between a pointer to
|
MISRA C:2012 Rule 11.1: Conversions shall not be performed between a pointer to
|
||||||
|
|
@ -150,10 +147,20 @@ _Ref 21.6.1_
|
||||||
|
|
||||||
### Unsupressed Deviations
|
### Unsupressed Deviations
|
||||||
|
|
||||||
Certain deviating code is left unsurpressed for awarness. This code should
|
Certain deviating code is left unsurpressed for awarness. These violations
|
||||||
not be considered for usage in MISRA compliant applications. These violations
|
|
||||||
will be reported when audited by a MISRA-checking static analysis tool.
|
will be reported when audited by a MISRA-checking static analysis tool.
|
||||||
|
|
||||||
|
Some of these unsuppressed exceptions correspond to example code provided
|
||||||
|
either for demonstration or verification of the FreeRTOS kernel. This code
|
||||||
|
is not considered part of the kernel implemenation and should not be used
|
||||||
|
in an application.
|
||||||
|
|
||||||
|
Other unsupressed violations are left present in the kernel implementation
|
||||||
|
as implementations, code, or other missing functionality being flagged for
|
||||||
|
violations will be present with the porting layer provided by the
|
||||||
|
application. The presence of these errors after providing a port indicates
|
||||||
|
a valid MISRA issue.
|
||||||
|
|
||||||
#### Rule 2.1
|
#### Rule 2.1
|
||||||
|
|
||||||
MISRA C:2012 Dir 2.1: A project shall not contain unreachable code
|
MISRA C:2012 Dir 2.1: A project shall not contain unreachable code
|
||||||
|
|
@ -190,6 +197,17 @@ _Ref 4.12_
|
||||||
Affected Files:
|
Affected Files:
|
||||||
- portable/MemMang/heap_*.c
|
- portable/MemMang/heap_*.c
|
||||||
|
|
||||||
|
|
||||||
|
#### Rule 8.6
|
||||||
|
|
||||||
|
MISRA C:2012 Rule 8.6: An identifier with external linkage shall have exactly
|
||||||
|
one external definition.
|
||||||
|
|
||||||
|
_Ref 8.6.1_
|
||||||
|
- Port layer function declarations are provided without corresponding
|
||||||
|
implementations to provide for ease of porting to a device. These definitions
|
||||||
|
cannot be implemented until a port is selected.
|
||||||
|
|
||||||
#### Rule 21.3
|
#### Rule 21.3
|
||||||
|
|
||||||
MISRA C-2012 Rule 21.3: The memory allocation and deallocation functions of
|
MISRA C-2012 Rule 21.3: The memory allocation and deallocation functions of
|
||||||
|
|
|
||||||
|
|
@ -180,39 +180,18 @@ typedef struct xHeapStats
|
||||||
/* coverity[misra_c_2012_rule_8_6_violation] */
|
/* coverity[misra_c_2012_rule_8_6_violation] */
|
||||||
void vPortDefineHeapRegions( const HeapRegion_t * const pxHeapRegions ) PRIVILEGED_FUNCTION;
|
void vPortDefineHeapRegions( const HeapRegion_t * const pxHeapRegions ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns a HeapStats_t structure filled with information about the current
|
||||||
|
* heap state.
|
||||||
|
*/
|
||||||
|
void vPortGetHeapStats( HeapStats_t * pxHeapStats );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Map to the memory management routines required for the port.
|
* Map to the memory management routines required for the port.
|
||||||
*/
|
*/
|
||||||
/* MISRA Ref 8.6.1 [External linkage] */
|
|
||||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
|
|
||||||
/* coverity[misra_c_2012_rule_8_6_violation] */
|
|
||||||
void * pvPortMalloc( size_t xWantedSize ) PRIVILEGED_FUNCTION;
|
void * pvPortMalloc( size_t xWantedSize ) PRIVILEGED_FUNCTION;
|
||||||
/* MISRA Ref 8.6.1 [External linkage] */
|
|
||||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
|
|
||||||
/* coverity[misra_c_2012_rule_8_6_violation] */
|
|
||||||
void * pvPortCalloc( size_t xNum,
|
void * pvPortCalloc( size_t xNum,
|
||||||
size_t xSize ) PRIVILEGED_FUNCTION;
|
size_t xSize ) PRIVILEGED_FUNCTION;
|
||||||
/* MISRA Ref 8.6.1 [External linkage] */
|
|
||||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
|
|
||||||
/* coverity[misra_c_2012_rule_8_6_violation] */
|
|
||||||
void vPortFree( void * pv ) PRIVILEGED_FUNCTION;
|
|
||||||
/* MISRA Ref 8.6.1 [External linkage] */
|
|
||||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
|
|
||||||
/* coverity[misra_c_2012_rule_8_6_violation] */
|
|
||||||
void vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION;
|
|
||||||
/* MISRA Ref 8.6.1 [External linkage] */
|
|
||||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
|
|
||||||
/* coverity[misra_c_2012_rule_8_6_violation] */
|
|
||||||
size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION;
|
|
||||||
/* MISRA Ref 8.6.1 [External linkage] */
|
|
||||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
|
|
||||||
/* coverity[misra_c_2012_rule_8_6_violation] */
|
|
||||||
size_t xPortGetMinimumEverFreeHeapSize( void ) PRIVILEGED_FUNCTION;
|
|
||||||
/* MISRA Ref 8.6.1 [External linkage] */
|
|
||||||
/* More details at: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/MISRA.md#rule-86 */
|
|
||||||
/* coverity[misra_c_2012_rule_8_6_violation] */
|
|
||||||
void xPortResetHeapMinimumEverFreeHeapSize( void ) PRIVILEGED_FUNCTION;
|
|
||||||
size_t xSize ) PRIVILEGED_FUNCTION;
|
|
||||||
void vPortFree( void * pv ) PRIVILEGED_FUNCTION;
|
void vPortFree( void * pv ) PRIVILEGED_FUNCTION;
|
||||||
void vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION;
|
void vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION;
|
||||||
size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION;
|
size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue