Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 23 Apr 2019 15:35:53 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH v3] signal: trace_signal_deliver when signal_group_exit |
| |
On 04/23, weizhenliang wrote: > > On Mon, Apr 22, 2019 at 11:25 PM Oleg Nesterov <oleg@redhat.com> wrote: > >On 04/22, Zhenliang Wei wrote: > >> > >> --- a/kernel/signal.c > >> +++ b/kernel/signal.c > >> @@ -2441,6 +2441,7 @@ bool get_signal(struct ksignal *ksig) > >> if (signal_group_exit(signal)) { > >> ksig->info.si_signo = signr = SIGKILL; > >> sigdelset(¤t->pending.signal, SIGKILL); > >> + trace_signal_deliver(SIGKILL, SEND_SIG_NOINFO, SIG_DFL); > >> recalc_sigpending(); > >> goto fatal; > >> } > > > >Reviewed-by: Oleg Nesterov <oleg@redhat.com> > > Last time Oleg suggested using SIG_DFL as the third parameter, but its type is 'void (*)(int)', but not expected 'struct k_sigaction *'.
Yes I misread the signature of TRACE_EVENT(signal_deliver), and I thought you at least compiled the kernel with your patch applied ;)
> How about > trace_signal_deliver(SIGKILL, SEND_SIG_NOINFO, &sighand->action[signr - 1]); > ?
sure, this should fix the problem.
Oleg.
| ![\](/images/icornerr.gif) |