On Tue, Oct 08, 2024 at 03:36:48PM -0700, Deepak Gupta wrote:
riscv will need an implementation for exit_thread to clean up shadow stack when thread exits. If current thread had shadow stack enabled, shadow stack is allocated by default for any new thread.
FWIW both arm64 and x86 do this via deactivate_mm(). ISTR there's some case where exit_thread() doesn't quite do the right thing but I can't remember the specifics right now, possibly the vfork() case but ICBW? In any case like Rick said factoring out the common patterns would be good, keeping things aligned would support that.