Re: ptrace/strace and freezer oddities and v5.2+ kernels

From: Roman Gushchin
Date: Tue Oct 08 2019 - 13:27:20 EST


On Tue, Oct 08, 2019 at 02:36:01PM +0200, Oleg Nesterov wrote:
> On 10/08, Bruce Ashfield wrote:
> >
> > So I've been looking through the config delta's and late last night, I was
> > able to move the runtime back to a failed 4 minute state by adding the
> > CONFIG_PREEMPT settings that we have by default in our reference
> > kernel.

Ah, yeah, I don't have CONFIG_PREEMPT on any of my machines.
Good catch, Bruce!

>
> Aha... Can you try the patch below?
>
> Oleg.
>
> --- x/kernel/signal.c
> +++ x/kernel/signal.c
> @@ -2205,8 +2205,8 @@ static void ptrace_stop(int exit_code, int why, int clear_code, kernel_siginfo_t
> */
> preempt_disable();
> read_unlock(&tasklist_lock);
> - preempt_enable_no_resched();
> cgroup_enter_frozen();
> + preempt_enable_no_resched();
> freezable_schedule();
> cgroup_leave_frozen(true);
> } else {
>

That was fast! Thank you, Oleg!