Messages in this thread | | | Date | Mon, 11 Apr 2022 13:35:23 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v2] ptrace: fix ptrace vs tasklist_lock race on PREEMPT_RT. |
| |
On Fri, Apr 08, 2022 at 10:06:30PM +0200, Peter Zijlstra wrote:
> I'll ponder if wait_task_inactive() can simplify things..
This,.. so ptrace_check_attach(), which does ptrace_freeze_traced() already does wait_task_inactive(), but on the 'wrong' side of things.
AFAICT, if we move that up, we're almost there, except that opens up a detach+attach race. That could be fixed by doing another wait_task_inactive(), but we can't due to locking :/
Let's see if I can make that work without making a mess of things. Because ensuring the task is stuck in schedule() makes the whole saved_state thing go away -- as you noted.
| |