lkml.org 
[lkml]   [2008]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/23] tracehook: exit
    Date
    This moves the PTRACE_EVENT_EXIT tracing into a tracehook.h inline,
    tracehook_report_exec(). The change has no effect, just clean-up.

    Signed-off-by: Roland McGrath <roland@redhat.com>
    ---
    include/linux/tracehook.h | 15 +++++++++++++++
    kernel/exit.c | 6 ++----
    2 files changed, 17 insertions(+), 4 deletions(-)

    diff --git a/include/linux/tracehook.h b/include/linux/tracehook.h
    index 6276353..967ab47 100644
    --- a/include/linux/tracehook.h
    +++ b/include/linux/tracehook.h
    @@ -95,4 +95,19 @@ static inline void tracehook_report_exec(struct linux_binfmt *fmt,
    send_sig(SIGTRAP, current, 0);
    }

    +/**
    + * tracehook_report_exit - task has begun to exit
    + * @exit_code: pointer to value destined for @current->exit_code
    + *
    + * @exit_code points to the value passed to do_exit(), which tracing
    + * might change here. This is almost the first thing in do_exit(),
    + * before freeing any resources or setting the %PF_EXITING flag.
    + *
    + * Called with no locks held.
    + */
    +static inline void tracehook_report_exit(long *exit_code)
    +{
    + ptrace_event(PT_TRACE_EXIT, PTRACE_EVENT_EXIT, *exit_code);
    +}
    +
    #endif /* <linux/tracehook.h> */
    diff --git a/kernel/exit.c b/kernel/exit.c
    index 93d2711..bd243c3 100644
    --- a/kernel/exit.c
    +++ b/kernel/exit.c
    @@ -46,6 +46,7 @@
    #include <linux/resource.h>
    #include <linux/blkdev.h>
    #include <linux/task_io_accounting_ops.h>
    +#include <linux/tracehook.h>

    #include <asm/uaccess.h>
    #include <asm/unistd.h>
    @@ -1005,10 +1006,7 @@ NORET_TYPE void do_exit(long code)
    if (unlikely(!tsk->pid))
    panic("Attempted to kill the idle task!");

    - if (unlikely(current->ptrace & PT_TRACE_EXIT)) {
    - current->ptrace_message = code;
    - ptrace_notify((PTRACE_EVENT_EXIT << 8) | SIGTRAP);
    - }
    + tracehook_report_exit(&code);

    /*
    * We're taking recursive faults here in do_exit. Safest is to just

    \
     
     \ /
      Last update: 2008-07-17 09:31    [W:0.025 / U:0.432 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site