X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fbinfmt_elf.c;fp=fs%2Fbinfmt_elf.c;h=43700dc142aa545858d943a8b56e6e36106ecef6;hb=e0ff8aa1acd079b70e796571917ae0449b7c465b;hp=8f2bd09a8c5708f608dc9afb8aad5ae8c10d906c;hpb=bef9ea3086d47cf98cfd0ea389953a0af0b60114;p=linux-2.6.git diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 8f2bd09a8..43700dc14 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -1091,6 +1091,12 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) #endif start_thread(regs, elf_entry, bprm->p); + if (unlikely(current->ptrace & PT_PTRACED)) { + if (current->ptrace & PT_TRACE_EXEC) + ptrace_notify ((PTRACE_EVENT_EXEC << 8) | SIGTRAP); + else + send_sig(SIGTRAP, current, 0); + } retval = 0; out: kfree(loc);