X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fexec.c;fp=fs%2Fexec.c;h=92805ece17eae7a3dd3313cb8554e4f6a2cdf07e;hb=e0ff8aa1acd079b70e796571917ae0449b7c465b;hp=c567e1a203156198040049474868bae6a6d52ccf;hpb=bef9ea3086d47cf98cfd0ea389953a0af0b60114;p=linux-2.6.git diff --git a/fs/exec.c b/fs/exec.c index c567e1a20..92805ece1 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -41,7 +41,7 @@ #include #include #include -#include +#include #include #include #include @@ -961,7 +961,13 @@ EXPORT_SYMBOL(prepare_binprm); static int unsafe_exec(struct task_struct *p) { - int unsafe = tracehook_unsafe_exec(p); + int unsafe = 0; + if (p->ptrace & PT_PTRACED) { + if (p->ptrace & PT_PTRACE_CAP) + unsafe |= LSM_UNSAFE_PTRACE_CAP; + else + unsafe |= LSM_UNSAFE_PTRACE; + } if (atomic_read(&p->fs->count) > 1 || atomic_read(&p->files->count) > 1 || atomic_read(&p->sighand->count) > 1) @@ -1086,7 +1092,6 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) bprm->file = NULL; current->did_exec = 1; proc_exec_connector(current); - tracehook_report_exec(bprm, regs); return retval; } read_lock(&binfmt_lock);