Messages in this thread | | | From | Linus Torvalds <> | Date | Tue, 4 Dec 2018 12:05:44 -0800 | 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@linux-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
| |