fs: take i_mutex during prepare_binprm for set[ug]id executables
commitb23d104f5577300cadd6351469cdaa3fb98b2a74
authorJann Horn <jann@thejh.net>
Sun, 19 Apr 2015 00:48:39 +0000 (19 02:48 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Apr 2015 08:23:47 +0000 (29 10:23 +0200)
treebc332bf6a9f2ee49a0b7b702272bab91b8be5935
parent9fe9c37cec84924db46258b7c237d20038fe9c8d
fs: take i_mutex during prepare_binprm for set[ug]id executables

commit 8b01fc86b9f425899f8a3a8fc1c47d73c2c20543 upstream.

This prevents a race between chown() and execve(), where chowning a
setuid-user binary to root would momentarily make the binary setuid
root.

This patch was mostly written by Linus Torvalds.

Signed-off-by: Jann Horn <jann@thejh.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/exec.c