Closed aggarg closed 9 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
9bfd85a
) 94.44% compared to head (98cd45b
) 94.44%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Kudos, SonarCloud Quality Gate passed!
Description
This PR adds Access Control to kernel objects on a per task basis to MPU ports. The following needs to be defined in the
FreeRTOSConfig.h
to enable this feature:This PR adds the following new APIs:
An unprivileged task by default has access to itself only and no other kernel object. The application writer needs to explicitly grant an unprivileged task access to all the kernel objects it needs. The best place to do that is before starting the scheduler when all the kernel objects are created.
For example, let's say an unprivileged tasks needs access to a queue and an event group, the application writer needs to do the following:
The application writer MUST revoke all the accesses before deleting a task. Failing to do so will result in undefined behavior. In the above example, the application writer needs to make the following 2 calls before deleting the task:
Test Steps
Tested on the following platforms -
Checklist:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.