On 04/23, weizhenliang wrote:
>
> On Mon, Apr 22, 2019 at 11:25 PM Oleg Nesterov <[email protected]> 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(&current->pending.signal, SIGKILL);
> >> +          trace_signal_deliver(SIGKILL, SEND_SIG_NOINFO, SIG_DFL);
> >>            recalc_sigpending();
> >>            goto fatal;
> >>    }
> >
> >Reviewed-by: Oleg Nesterov <[email protected]>
>
> 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.

Reply via email to