From: Kris Van Hees Date: Wed, 14 Oct 2015 09:27:44 +0000 (-0400) Subject: dtrace: correct signal-handle probe semantics X-Git-Tag: v4.1.12-92~235^2~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=14cdcb33860e0247ca64f68e25df59a2ed3c5d9d;p=users%2Fjedix%2Flinux-maple.git dtrace: correct signal-handle probe semantics The proc:::signal-handle probe should fire when a signal is presented to a task for handling, regardless of the handler settings. Previously, we were only firing this probe when the signal actually had a specific handler associated with it. Orabug: 21974641 Signed-off-by: Kris Van Hees Acked-by: Nick Alcock --- diff --git a/kernel/signal.c b/kernel/signal.c index 7d3de199c197..f337fd006bc5 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -2266,6 +2266,11 @@ relock: ka = &sighand->action[signr-1]; + DTRACE_PROC3(signal__handle, int, signr, siginfo_t *, + ksig->ka.sa.sa_handler != SIG_DFL ? NULL : + &ksig->info, void (*)(void), + ksig->ka.sa.sa_handler); + /* Trace actually delivered signals. */ trace_signal_deliver(signr, &ksig->info, ka); @@ -2365,12 +2370,6 @@ relock: } spin_unlock_irq(&sighand->siglock); - if (signr != 0) { - DTRACE_PROC3(signal__handle, int, signr, siginfo_t *, - ksig->ka.sa.sa_handler != SIG_DFL ? NULL : - &ksig->info, void (*)(void), - ksig->ka.sa.sa_handler); - } ksig->sig = signr; return ksig->sig > 0; }