diff options
| author | KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au> | 2024-01-28 17:15:43 +1100 |
|---|---|---|
| committer | KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au> | 2024-02-06 22:23:42 +1100 |
| commit | 719db18b50a996f3df4f76854f7dc9d69f875582 (patch) | |
| tree | 0cd4da42473e9ca04e998b495013a75e37925b3e /include | |
| parent | 19f615521d92f9837099173abb831cfcd2ff284c (diff) | |
notify ASAN about M:N threading stack switches
In a similar way to how we do it with fibers in cont.c, we need to call
__sanitize_start_switch_fiber and __sanitize_finish_switch_fiber around
the call to coroutine_transfer to let ASAN save & restore the fake stack
pointer.
When a M:N thread is exiting, we pass `to_dead` to the new
coroutine_transfer0 function, so that we can pass NULL for saving the
stack pointer. This signals to ASAN that the fake stack can be freed
(otherwise it would be leaked)
[Bug #20220]
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
