__ptrace_unlink: kill the obsolete "FIXME" code
authorOleg Nesterov <oleg@redhat.com>
Tue, 21 Nov 2023 16:26:50 +0000 (17:26 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 11 Dec 2023 01:21:32 +0000 (17:21 -0800)
The corner case described by the comment is no longer possible after the
commit 7b3c36fc4c23 ("ptrace: fix task_join_group_stop() for the case when
current is traced"), task_join_group_stop() ensures that the new thread
has the correct signr in JOBCTL_STOP_SIGMASK regardless of ptrace.

Link: https://lkml.kernel.org/r/20231121162650.GA6635@redhat.com
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Cc: Eric Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
kernel/ptrace.c

index d8b5e13a2229f4ab4f6aed871cd702dbea4e01aa..3617213c3d8acdd5ec342e074b795501456192b7 100644 (file)
@@ -145,20 +145,9 @@ void __ptrace_unlink(struct task_struct *child)
         */
        if (!(child->flags & PF_EXITING) &&
            (child->signal->flags & SIGNAL_STOP_STOPPED ||
-            child->signal->group_stop_count)) {
+            child->signal->group_stop_count))
                child->jobctl |= JOBCTL_STOP_PENDING;
 
-               /*
-                * This is only possible if this thread was cloned by the
-                * traced task running in the stopped group, set the signal
-                * for the future reports.
-                * FIXME: we should change ptrace_init_task() to handle this
-                * case.
-                */
-               if (!(child->jobctl & JOBCTL_STOP_SIGMASK))
-                       child->jobctl |= SIGSTOP;
-       }
-
        /*
         * If transition to TASK_STOPPED is pending or in TASK_TRACED, kick
         * @child in the butt.  Note that @resume should be used iff @child