On Mon, Nov 26, 2018 at 9:44 AM Yu-cheng Yu <yu-cheng.yu@xxxxxxxxx> wrote: > > On Thu, 2018-11-22 at 08:53 -0800, Andy Lutomirski wrote: > > [cc some more libc folks] > > > > > 2. I want to be able to modify the signal context from a signal > > handler such that, when the signal handler returns, it will return to > > a frame higher up on the call stack than where the signal started and > > to a different RIP value. How can I do this? I guess I can modify > > the shadow stack with WRSS if WR_SHSTK_EN=1, but how do I tell the > > kernel to kindly skip the frames I want to skip when I do sigreturn()? > > > > The reason I'm asking #2 is that I think it's time to resurrect my old > > vDSO syscall cancellation helper series here: > > > > https://lwn.net/Articles/679434/ > > If tools/testing/selftests/x86/unwind_vdso.c passes, can we say the kernel does > the right thing? Or do you have other tests that I can run? I haven't written the relevant test yet. Hopefully soon :)