diff options
author | Roland McGrath <roland@redhat.com> | 2008-07-25 22:45:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-26 15:00:08 -0400 |
commit | 6341c393fcc37d58727865f1ee2f65e632e9d4f0 (patch) | |
tree | 6e88d928e17f663b225884e81877a7a069d7c514 /fs/binfmt_elf.c | |
parent | 88ac2921a71f788ed693bcd44731dd6bc1994640 (diff) |
tracehook: exec
This moves all the ptrace hooks related to exec into tracehook.h inlines.
This also lifts the calls for tracing out of the binfmt load_binary hooks
into search_binary_handler() after it calls into the binfmt module. This
change has no effect, since all the binfmt modules' load_binary functions
did the call at the end on success, and now search_binary_handler() does
it immediately after return if successful. We consolidate the repeated
code, and binfmt modules no longer need to import ptrace_notify().
Signed-off-by: Roland McGrath <roland@redhat.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/binfmt_elf.c')
-rw-r--r-- | fs/binfmt_elf.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 3b6ff854d983..655ed8d30a86 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c | |||
@@ -1003,12 +1003,6 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) | |||
1003 | #endif | 1003 | #endif |
1004 | 1004 | ||
1005 | start_thread(regs, elf_entry, bprm->p); | 1005 | start_thread(regs, elf_entry, bprm->p); |
1006 | if (unlikely(current->ptrace & PT_PTRACED)) { | ||
1007 | if (current->ptrace & PT_TRACE_EXEC) | ||
1008 | ptrace_notify ((PTRACE_EVENT_EXEC << 8) | SIGTRAP); | ||
1009 | else | ||
1010 | send_sig(SIGTRAP, current, 0); | ||
1011 | } | ||
1012 | retval = 0; | 1006 | retval = 0; |
1013 | out: | 1007 | out: |
1014 | kfree(loc); | 1008 | kfree(loc); |