On 04/23, weizhenliang wrote: > > On Mon, Apr 22, 2019 at 11:25 PM Oleg Nesterov <oleg@xxxxxxxxxx> 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@xxxxxxxxxx> > > 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.