Hi Sebastian, Sorry, I just noticed your email... On 02/05, Sebastian Andrzej Siewior wrote: > > On 2019-01-21 12:21:17 [+0100], Oleg Nesterov wrote: > > > This is part of our ABI for *sure*. Inspecting that state is how > > > userspace makes sense of MPX or protection keys faults. We even use > > > this in selftests/. > > > > Yes. > > > > And in any case I do not understand the idea to use the second in-kernel struct fpu. > > A signal handler can be interrupted by another signal, this will need to save/restore > > the FPU state again. > > So I assumed that while SIGUSR1 is handled SIGUSR2 will wait until the > current signal is handled. So no interruption. But then SIGSEGV is > probably the exception which will interrupt SIGUSR1. So we would need a > third one… I guess you do not need my answer, but just in case. SIGSEGV is not an exception. A SIGUSR1 handler can be interrupted by any other signal which is not included in sigaction->sa_mask. Even SIGUSR1 can interrupt the handler if SA_NODEFER was used. > The idea was to save the FPU state in-kernel so we don't have to > revalidate everything because userspace had access to it and could do > things. I understand, but this simply can't work, see above. Oleg.