On 11/19, Oleg Nesterov wrote: > > At least, don't we also need the patch below? > > --- a/kernel/utrace.c > +++ b/kernel/utrace.c > @@ -2002,7 +2002,7 @@ int utrace_get_signal(struct task_struct > spin_unlock_irq(&task->sighand->siglock); > } > > - if (resume > UTRACE_REPORT) { > + if (resume > UTRACE_REPORT && utrace < UTRACE_RESUME) { > /* > * We only got here to process utrace->resume. > * Despite no callbacks, this report is not spurious.
No, this is wrong. Please see below. Oleg. --- a/kernel/utrace.c +++ b/kernel/utrace.c @@ -2007,9 +2007,11 @@ int utrace_get_signal(struct task_struct * We only got here to process utrace->resume. * Despite no callbacks, this report is not spurious. */ - report.action = resume; - report.spurious = false; - finish_resume_report(task, utrace, &report); + if (resume != UTRACE_RESUME) { + report.action = resume; + report.spurious = false; + finish_resume_report(task, utrace, &report); + } return -1; } else if (!(task->utrace_flags & UTRACE_EVENT(QUIESCE))) { /*