Messages in this thread | | | Date | Mon, 27 Feb 2012 18:22:08 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH v11 08/12] signal, x86: add SIGSYS info and make it synchronous. |
| |
On 02/24, Will Drewry wrote: > > To ensure that SIGSYS delivery occurs on return from the triggering > system call, SIGSYS is added to the SYNCHRONOUS_MASK macro.
Hmm. Can't understand... please help.
> #define SYNCHRONOUS_MASK \ > (sigmask(SIGSEGV) | sigmask(SIGBUS) | sigmask(SIGILL) | \ > - sigmask(SIGTRAP) | sigmask(SIGFPE)) > + sigmask(SIGTRAP) | sigmask(SIGFPE) | sigmask(SIGSYS))
Why?
SYNCHRONOUS_MASK just tells dequeue_signal() "pick them first". This is needed to make sure that the handler for, say SIGSEGV, can use ucontext->ip as a faulting addr.
But seccomp adds info->si_call_addr, this looks unneeded.
Oleg.
| |