[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wiMmEFfnF5if-wCsdu1C_iLSzd5M5HcWe9L9QqnY4t-LQ@mail.gmail.com>
Date: Tue, 4 Dec 2018 12:05:44 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: mhocko@...nel.org
Cc: Ingo Molnar <mingo@...nel.org>, pavel@....cz,
Oleg Nesterov <oleg@...hat.com>,
Linux List Kernel Mailing <linux-kernel@...r.kernel.org>,
rafael.j.wysocki@...el.com, chanho.min@....com,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>
Subject: Re: [PATCH] Revert "exec: make de_thread() freezable (was: Re: Linux 4.20-rc4)
On Tue, Dec 4, 2018 at 11:49 AM Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
>
> because honestly, the *only* reason we hold on to that lock is for the
> insane and not really interesting case of "somebody tried to use
> ptrace to change the creds in-flight during the exec".
No, sorry, me confused. Not somebody trying to change them, it's just
ptrace_attach() trying to change _our_ state during this sequence, and
relying on it all being atomic.
So taking a ref is unnecessary and pointless. It's not the creds that
change, it's that we really want to delay ptrace_attach().
We could maybe set that "we're busy now" flag, and have
ptrace_attach() do something like
if (task_is_busy(task)) {
sched_yield();
return -ERESTARTSYS;
}
or something like that.
Linus
Powered by blists - more mailing lists