• Tejun Heo's avatar
    ptrace: Remove the extra wake_up_state() from ptrace_detach() · 9f2bf651
    Tejun Heo authored
    This wake_up_state() has a turbulent history.  This is a remnant from
    ancient ptrace implementation and patently wrong.  Commit 95a3540d
    (ptrace_detach: the wrong wakeup breaks the ERESTARTxxx logic) removed
    it but the change was reverted later by commit edaba2c5 (ptrace:
    revert "ptrace_detach: the wrong wakeup breaks the ERESTARTxxx logic")
    citing compatibility breakage and general brokeness of the whole group
    stop / ptrace interaction.  Then, recently, it got converted from
    wake_up_process() to wake_up_state() to make it less dangerous.
    
    Digging through the mailing archives, the compatibility breakage
    doesn't seem to be critical in the sense that the behavior isn't well
    defined or reliable to begin with and it seems to have been agreed to
    remove the wakeup with proper cleanup of the whole thing.
    
    Now that the group stop and its interaction with ptrace are being
    cleaned up, it's high time to finally kill this silliness.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarOleg Nesterov <oleg@redhat.com>
    Cc: Roland McGrath <roland@redhat.com>
    9f2bf651
ptrace.c 20.1 KB