mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-20 05:21:59 -04:00
Change the xRunningPrivileged check from "!=true" to "==false" (#109)
The expected behaviour of portIS_PRIVILEGED is: - return 0 if the processor is not running privileged. - return 1 if the processor is running privileged. Some TI ports do not return 1 when the processor is running privileged causing the following check to fail: if( xRunningPrivileged != pdTRUE ) This commit change the check to: if( xRunningPrivileged == pdFALSE ). It ensures that the check is successful even on the ports which return incorrect value from portIS_PRIVILEGED when the processor is running privileged. See https://forums.freertos.org/t/kernel-bug-nested-mpu-wrapper-calls-generate-an-exception/10391 Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
This commit is contained in:
parent
676d99e302
commit
4383c8fae3
|
@ -68,7 +68,7 @@ BaseType_t xPortRaisePrivilege( void ) /* FREERTOS_SYSTEM_CALL */
|
||||||
xRunningPrivileged = portIS_PRIVILEGED();
|
xRunningPrivileged = portIS_PRIVILEGED();
|
||||||
|
|
||||||
/* If the processor is not already privileged, raise privilege. */
|
/* If the processor is not already privileged, raise privilege. */
|
||||||
if( xRunningPrivileged != pdTRUE )
|
if( xRunningPrivileged == pdFALSE )
|
||||||
{
|
{
|
||||||
portRAISE_PRIVILEGE();
|
portRAISE_PRIVILEGE();
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ BaseType_t xPortRaisePrivilege( void ) /* FREERTOS_SYSTEM_CALL */
|
||||||
|
|
||||||
void vPortResetPrivilege( BaseType_t xRunningPrivileged )
|
void vPortResetPrivilege( BaseType_t xRunningPrivileged )
|
||||||
{
|
{
|
||||||
if( xRunningPrivileged != pdTRUE )
|
if( xRunningPrivileged == pdFALSE )
|
||||||
{
|
{
|
||||||
portRESET_PRIVILEGE();
|
portRESET_PRIVILEGE();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue