FreeRTOS-Kernel/FreeRTOS/Test/CBMC/proofs/Queue/QueueGenericCreateStatic
Dan Good b6624fa44d
Remove or rework assumptions in queue proofs (#603)
This commit is paired with another to queue.c in the kernel.  To
accomodate changes in newer versions of CBMC, the
--pointer-overflow-check is removed.
2021-06-04 15:42:14 -04:00
..
Configurations.json Remove or rework assumptions in queue proofs (#603) 2021-06-04 15:42:14 -04:00
QueueGenericCreateStatic_harness.c Remove or rework assumptions in queue proofs (#603) 2021-06-04 15:42:14 -04:00
README.md Copying CBMC proofs from aws/amazon-freertos repo ./tools/cbmc to this repo ./FreeRTOS/Test/CBMC as is. 2020-03-31 14:21:53 -07:00

The harness proves memory safety of QueueGenericCreateStatic under the assumption made in the harness.

The principal assumption is that (uxItemSize * uxQueueLength) + sizeof(Queue_t) does not overflow. Further, ucQueueStorage must only be null iff uxItemSize is null. In addition, the passed queue storage is assumed to be allocated to the right size.

The configurations for configSUPPORT_DYNAMIC_ALLOCATION set to 0 and 1 are checked.

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:

  • vPortEnterCritical
  • vPortExitCritical