[lkml]   [2011]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH 0/8] kill task_detached() (Was: ptrace: kill detah tracehooks)
    Remove tracehook_notify_death(), and kill task_detached() logic.

    IMHO, task_detached() is very strange and confusing. Sometimes it used
    instead of !thread_group_leader() when the task is live. Sometimes it
    is used to detect the EXIT_DEAD tasks (reparent_leader). Sometimes it
    used after do_notify_parent() which sets ->exit_signal = -1 to signal
    the caller it should set EXIT_DEAD.

    Basically, this series does:

    - s/task_detached/thread_group_leader/ when the caller need
    to know if it is the group_leader or not

    - s/task_detached/EXIT_DEAD/ when the caller needs to filter
    out the EXIT_DEAD tasks

    - changes do_notify_parent() to return a boolean and converts
    the callers from

    if (task_detached(p))
    // aha, do_notify_parent() changed ->exit_signal

    if (do_notify_parent(p))

    - kills the now unused task_detached()

    - makes task->exit_signal "const" and redefines thread_group_leader()
    for micro-optimization.

    fs/exec.c | 1 +
    include/linux/sched.h | 15 ++++-------
    include/linux/tracehook.h | 34 --------------------------
    kernel/exit.c | 58 +++++++++++++++++++-------------------------
    kernel/ptrace.c | 32 +++++++++++++-----------
    kernel/signal.c | 16 ++++++------
    6 files changed, 57 insertions(+), 99 deletions(-)


     \ /
      Last update: 2011-06-22 23:13    [W:0.020 / U:31.896 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site