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
|
||||
definitions or no definition. FreeRTOS hook functions are implemented in
|
||||
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
|
||||
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
|
||||
|
||||
Certain deviating code is left unsurpressed for awarness. This code should
|
||||
not be considered for usage in MISRA compliant applications. These violations
|
||||
Certain deviating code is left unsurpressed for awarness. These violations
|
||||
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
|
||||
|
||||
MISRA C:2012 Dir 2.1: A project shall not contain unreachable code
|
||||
|
|
@ -190,6 +197,17 @@ _Ref 4.12_
|
|||
Affected Files:
|
||||
- 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
|
||||
|
||||
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] */
|
||||
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.
|
||||
*/
|
||||
/* 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;
|
||||
/* 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,
|
||||
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 vPortInitialiseBlocks( void ) PRIVILEGED_FUNCTION;
|
||||
size_t xPortGetFreeHeapSize( void ) PRIVILEGED_FUNCTION;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue