mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-14 16:57:41 -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 | ||
README.md | ||
TaskCreate_harness.c | ||
tasks_test_access_functions.h |
This proof demonstrates the memory safety of the TaskCreate function.
We initialize task lists, but we set other data structures to
unconstrained (arbitrary) values, including the data structures
pxCurrentTCB
, uxCurrentNumberOfTasks
, pcName
and pxCreateTask
.
STACK_DEPTH is set to a fixed number (10) since it is not possible to
specify a range.
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:
- prvTraceGetObjectHandle
- prvTraceGetTaskNumber
- prvTraceSetObjectName
- prvTraceSetPriorityProperty
- prvTraceStoreKernelCall
- prvTraceStoreTaskReady
- pxPortInitialiseStack
- vPortEnterCritical
- vPortExitCritical
- vPortGenerateSimulatedInterrupt