]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit - kernel/fork.c
ptrace: kill clone/exec tracehooks
authorTejun Heo <tj@kernel.org>
Fri, 17 Jun 2011 14:50:38 +0000 (16:50 +0200)
committerOleg Nesterov <oleg@redhat.com>
Wed, 22 Jun 2011 17:26:29 +0000 (19:26 +0200)
commit4b9d33e6d83cc05a8005a8f9a8b9677fa0f53626
tree250b740d22f9604326ecfd769dd2f74d60187a19
parenta288eecce5253cc1565d400a52b9b476a157e040
ptrace: kill clone/exec tracehooks

At this point, tracehooks aren't useful to mainline kernel and mostly
just add an extra layer of obfuscation.  Although they have comments,
without actual in-kernel users, it is difficult to tell what are their
assumptions and they're actually trying to achieve.  To mainline
kernel, they just aren't worth keeping around.

This patch kills the following clone and exec related tracehooks.

tracehook_prepare_clone()
tracehook_finish_clone()
tracehook_report_clone()
tracehook_report_clone_complete()
tracehook_unsafe_exec()

The changes are mostly trivial - logic is moved to the caller and
comments are merged and adjusted appropriately.

The only exception is in check_unsafe_exec() where LSM_UNSAFE_PTRACE*
are OR'd to bprm->unsafe instead of setting it, which produces the
same result as the field is always zero on entry.  It also tests
p->ptrace instead of (p->ptrace & PT_PTRACED) for consistency, which
also gives the same result.

This doesn't introduce any behavior change.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
fs/exec.c
include/linux/tracehook.h
kernel/fork.c