diff options
| author | Frédéric Desbiens <[email protected]> | 2026-10-14 10:57:14 -0400 |
|---|---|---|
| committer | Frédéric Desbiens <[email protected]> | 2026-10-14 10:57:14 -0400 |
| commit | b017aea7e4e8a3e3d81fc110a5b815af754438eb (patch) | |
| tree | 7b7a51cba70c049d740e900af85795cc8f97472d /common_modules | |
| parent | 74d9e3937fa913380fdfdd902e528411c661ea3f (diff) | |
Restored the Linux port mutex retryv6.4.1_cert
This was reverted because a NetX Secure regression test segfaulted with it
in place. The cause was the test: it hands the certificate verify path a
stack-local certificate whose signature it never assigns, and this change
moves the stack layout that decides whether the unassigned slot reads null
or a readable leftover. That test has been fixed, so the retry comes back.
Measured with the test unfixed and this change in place, on a layout built
without the stack protector: eight of eight runs segfault, the fault read
from the faulting process as a null signature dereferenced by the ECDSA
verify. With the test fixed, nineteen build configurations run it eight
times each with no fault.
Without this change, a thread signalled into the port's suspend handler
never returns to the contended-mutex loop, the next unlock's wake-up is
lost, the scheduler is left parked, and the timer interrupt never runs --
which stalls the tick and hangs about 0.39% of instances of a few TCP
tests for their full timeout.
Diffstat (limited to 'common_modules')
0 files changed, 0 insertions, 0 deletions
