On Tue, 2019-05-07 at 21:37 +0000, Roman Gushchin wrote: > Can you, please, try if the following patch fixes the problem? It works great. > -- > > diff --git a/kernel/signal.c b/kernel/signal.c > index 16b72f4f14df..bf2f268f1386 100644 > --- a/kernel/signal.c > +++ b/kernel/signal.c > @@ -2484,9 +2484,6 @@ bool get_signal(struct ksignal *ksig) > sigdelset(¤t->pending.signal, SIGKILL); > recalc_sigpending(); > current->jobctl &= ~JOBCTL_TRAP_FREEZE; > - spin_unlock_irq(&sighand->siglock); > - if (unlikely(cgroup_task_frozen(current))) > - cgroup_leave_frozen(true); > goto fatal; > } > > @@ -2608,8 +2605,10 @@ bool get_signal(struct ksignal *ksig) > continue; > } > > - spin_unlock_irq(&sighand->siglock); > fatal: > + spin_unlock_irq(&sighand->siglock); > + if (unlikely(cgroup_task_frozen(current))) > + cgroup_leave_frozen(true); > > /* > * Anything else is fatal, maybe with a core dump.