Re: ptrace: selinux_bprm_committed_creds: simplify __wake_up_parent()code and s/parent/real_parent/

From: James Morris
Date: Wed Apr 29 2009 - 20:39:27 EST


On Wed, 29 Apr 2009, Oleg Nesterov wrote:

> (on top of David's "[PATCH] SELinux: Don't flush inherited SIGKILL during execve()",
> but can be applied independently).
>
> selinux_bprm_committed_creds() should wake up ->real_parent, not ->parent.
>
> We shouldn't worry about the tracer if current is ptraced, exec() must not
> succeed if the tracer has no rights to trace this task after cred changing.
> But we should notify ->real_parent which is, well, real parent.
>
> Also, we don't need _irq to take tasklist, and we don't need parent's
> ->siglock to wake_up_interruptible(real_parent->signal->wait_chldexit).
> Since we hold tasklist, real_parent->signal must be stable. Otherwise
> spin_lock(siglock) is not safe too and can't help anyway.
>
> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

Applied to
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6#next

--
James Morris
<jmorris@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/