Improve mutex usage verification framework for the 4.0 threading interface #206
Labels
No labels
approved
bug
dependencies
DO-NOT-MERGE
enhancement
good-first-issue
help-wanted
historical-reviewed
historical-reviewing
needs-adoption
needs-ci
needs-design-approval
needs-info
needs-preceding-pr
needs-review
needs-reviewer
needs-work
priority-high
priority-low
priority-medium
priority-scheduled
priority-very-high
single-reviewer
size-l
size-m
size-s
size-xs
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-Mbed-TLS/mbedtls-framework#206
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
We've made changes to the threading abstraction starting with TF-PSA-Crypto 1.0 (issue, 4.0.0.0 interface and associated framework changes).
The new threading abstraction doesn't mesh well with the mutex usage verification framework. In my prototype (which had broader changes to the threading abstraction), I tried to have
threading_helpers.ccope with both the old and the new interface through a lot of ifdefs, but it became quite messy. In the updated version, it's less messy and passes the CI, but still has some hacks where the new code is trying to fit into the shape of the old code.For this rework, I think the right way is to redesign how the usage verification code hooks into the library, not just in TF-PSA-Crypto but also in Mbed TLS 3.6. (This is guarded by
MBEDTLS_TEST_HOOKSso we can change things in the LTS.)The primary goal of this issue is to make the mutex usage verification framework easier to understand, in particular from the point of view of a library maintainer who sees a test failure and needs to figure out what's failing and why. A related goal is to have the verification framework work with
MBEDTLS_THREADING_ALT, which has its own issue https://github.com/Mbed-TLS/mbedtls-framework/issues/207.