mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-15 01:07:47 -04:00
* Use new version of CI-CD Actions, checkout@v3 instead of checkout@v2 on all jobs * Use cSpell spell check, and use ubuntu-20.04 for formatting check * Add in bot formatting action * Update freertos_demo.yml and freertos_plus_demo.yml files to increase github log readability * Add in a Qemu demo onto the workflows. |
||
---|---|---|
.. | ||
cbmc-viewer.json | ||
Makefile.json | ||
QueueTakeMutexRecursive_harness.c | ||
README.md |
Assuming that the parameter is valid mutex data structure and reasonable bounded, this harness proves the memory safety of QueueTakeMutexRecursive. Task pool and concurrency functions are abstracted away and replaced with required stubs to drive coverage.
This proof is a work-in-progress. Proof assumptions are described in the harness. The proof also assumes the following functions are memory safe and have no side effects relevant to the memory safety of this function:
- pvTaskIncrementMutexHeldCount
- vPortEnterCritical
- vPortExitCritical
- vPortGenerateSimulatedInterrupt
- vTaskMissedYield
- vTaskPlaceOnEventList
- vTaskPriorityDisinheritAfterTimeout
- vTaskSuspendAll
- xTaskGetCurrentTaskHandle
- xTaskPriorityDisinherit
- xTaskPriorityInherit
- xTaskRemoveFromEventList
- xTaskResumeAll