You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix build and proof failures for CBMC ARP proofs (#709)
* Use CBMC XML output to enable VSCode debugger (#673)
Prior to this commit, CBMC would emit logging information in plain text
format, which does not contain information required for the CBMC VSCode
debugger. This commit makes CBMC use XML instead of plain text.
Co-authored-by: Mark Tuttle <[email protected]>
* Fixes CBMC proof for the ARPAgeCache function:
* Adds /source/FreeRTOS_Routing.c to ARPAgeCache proof build
* Assumes pxNetworkEndPoints and pxNetworkEndPoints->pxNetworkInterface are properly initialized before ARPAgeCache is used.
* Assumes one endpoint and interface are only present
Changes to CBMC flags/configs:
* Added:
* `--unwindset FreeRTOS_OutputARPRequest.0:3` and `--unwindset vARPAgeCache.1:3` as per number of endpoints
* Modified:
* `--object-bits 8` to address: too many addressed objects: maximum number of objects is set to 2^n=128 (with n=7);
* Fixes CBMC proof build failure and proof failure for ARP_FreeRTOS_ClearARP:
* New flags:
* "--unwindset FreeRTOS_ClearARP.0:7" to support loop in cleararp function
* Added argument to FreeRTOS_ClearARP in harness to support new change in API
* Fixed ARPGenerateRequestPacket CBMC proof
* Fixed ARPGetCacheEntryByMac proof:
Changes
-------
Removed --nondet-static: proof fails if that option is enabled as the endpoint gets random value even if there is NULL check before its usage
* Fix ARPProcessPacket CBMC proof:
Changes:
-------
ARPProcessPacket takes new arg (NetworkBufferDescriptor_t *)
* Fixed CBMC proof for ARP_OutputARPRequest_buffer_alloc1 diff configs
* Fixed CBMC proof for ARP_OutputARPRequest_buffer_alloc2 diff configs
* Fix CBMC proof for ARPGetCacheEntry
* Fixed proofs for ARPRefreshCacheEntry
* Fixed CBMC proof for ARP_FreeRTOS_OutputARPRequest
* Fix cbmc proof for ARPProcessPacket
* fixed cbmc target func not called issue in ARP_FreeRTOS_PrintARPCache
* adding changes as per review comments
* add multiple endpoints
* config fix for multiple end point
* wip
* assigning null instead of assuming
* fixe minor isssue
* update asume to assignment
* more comments
* Revert "update asume to assignment"
This reverts commit b1f9e46.
* reverting kernel submodule change
* addding non deterministic number of endpoints
* addding non deterministic number of endpoints
* addding non deterministic number of endpoints
* addding non deterministic number of endpoints
* addding non deterministic number of endpoints
---------
Co-authored-by: Kareem Khazem <[email protected]>
Co-authored-by: Mark Tuttle <[email protected]>
0 commit comments