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
thread: track context switches in the ucontext variant too
The previous commit sets `g_context_switch_in_progress` around the
`setjmp`/`longjmp` based switches only. Sanitized builds take the
`SEASTAR_ASAN_ENABLED` branch and switch stacks via `swapcontext()`, which
has the same problem: glibc's aarch64 swapcontext carries an empty
(nop-only) CFI program while its third instruction already clobbers the
link register, so a backtrace taken from a signal handler that lands
mid-switch walks garbage frames and can crash in libgcc's unwinder.
Move begin/end_context_switch() to shared scope and apply them to the
ucontext-based switch functions, mirroring the setjmp variant: the flag
set before a switch is cleared at the resume point control transfers
to, or in initial_switch_in_completed() for a thread's first entry.
0 commit comments