mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2026-10-10 08:02:57 -04:00
Merge 88e562250b into 8be86d4a24
This commit is contained in:
commit
12024f7a0f
6 changed files with 50 additions and 0 deletions
|
|
@ -693,6 +693,12 @@
|
|||
}
|
||||
#endif /* configSUPPORT_DYNAMIC_ALLOCATION */
|
||||
|
||||
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||
{
|
||||
vvMPU_ObjectDeleted( ( int32_t ) xEventGroup );
|
||||
}
|
||||
#endif
|
||||
|
||||
traceRETURN_vEventGroupDelete();
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
|
|||
|
|
@ -85,6 +85,12 @@
|
|||
#define configENABLE_ACCESS_CONTROL_LIST 0
|
||||
#endif
|
||||
|
||||
/* Set configENABLE_AUTOMATIC_ACL_CLEANUP to 1 to automatically revoke ACL
|
||||
* permissions on object deletion. */
|
||||
#ifndef configENABLE_AUTOMATIC_ACL_CLEANUP
|
||||
#define configENABLE_AUTOMATIC_ACL_CLEANUP 0
|
||||
#endif
|
||||
|
||||
/* Set default value of configNUMBER_OF_CORES to 1 to use single core FreeRTOS. */
|
||||
#ifndef configNUMBER_OF_CORES
|
||||
#define configNUMBER_OF_CORES 1
|
||||
|
|
|
|||
|
|
@ -278,6 +278,11 @@
|
|||
|
||||
#endif /* #if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) */
|
||||
|
||||
|
||||
#if ( configUSE_MPU_WRAPPERS_V1 == 0 )
|
||||
void vvMPU_ObjectDeleted( int32_t lExternalKernelObjectHandle ) PRIVILEGED_FUNCTION;
|
||||
#endif
|
||||
|
||||
#endif /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
|
||||
|
||||
#define PRIVILEGED_FUNCTION __attribute__( ( section( "privileged_functions" ) ) )
|
||||
|
|
|
|||
|
|
@ -47,6 +47,21 @@
|
|||
#include "mpu_syscall_numbers.h"
|
||||
|
||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||
|
||||
void vvMPU_ObjectDeleted( int32_t lExternalKernelObjectHandle ) /* PRIVILEGED_FUNCTION */
|
||||
{
|
||||
if( IS_EXTERNAL_INDEX_VALID( lExternalKernelObjectHandle ) != pdFALSE )
|
||||
{
|
||||
#if ( configENABLE_AUTOMATIC_ACL_CLEANUP == 1 )
|
||||
{
|
||||
vRevokeAccessToKernelObject( NULL, lExternalKernelObjectHandle );
|
||||
}
|
||||
#endif
|
||||
|
||||
MPU_SetIndexFreeInKernelObjectPool( CONVERT_TO_INTERNAL_INDEX( lExternalKernelObjectHandle ) );
|
||||
}
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||
|
|
|
|||
12
queue.c
12
queue.c
|
|
@ -2298,6 +2298,18 @@ void vQueueDelete( QueueHandle_t xQueue )
|
|||
}
|
||||
#endif /* configSUPPORT_DYNAMIC_ALLOCATION */
|
||||
|
||||
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||
{
|
||||
vvMPU_ObjectDeleted( ( int32_t ) xQueue );
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||
{
|
||||
vvMPU_ObjectDeleted( ( int32_t ) xQueue );
|
||||
}
|
||||
#endif
|
||||
|
||||
traceRETURN_vQueueDelete();
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
|
|||
|
|
@ -596,6 +596,12 @@ void vStreamBufferDelete( StreamBufferHandle_t xStreamBuffer )
|
|||
( void ) memset( pxStreamBuffer, 0x00, sizeof( StreamBuffer_t ) );
|
||||
}
|
||||
|
||||
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||
{
|
||||
vvMPU_ObjectDeleted( ( int32_t ) xStreamBuffer );
|
||||
}
|
||||
#endif
|
||||
|
||||
traceRETURN_vStreamBufferDelete();
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue