From: Ingo Molnar <mingo@elte.hu>
Date: Wed, 28 Nov 2007 12:59:18 +0000 (+0100)
Subject: vfs: coredumping fix
X-Git-Tag: v2.6.24-rc4~82
X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=c46f739dd39db3b07ab5deb4e3ec81e1c04a91af;p=linux-2.6-omap-h63xx.git

vfs: coredumping fix

fix: http://bugzilla.kernel.org/show_bug.cgi?id=3043

only allow coredumping to the same uid that the coredumping
task runs under.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Alan Cox <alan@redhat.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Acked-by: Al Viro <viro@ftp.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---

diff --git a/fs/exec.c b/fs/exec.c
index 4ccaaa4b13b..282240afe99 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1780,6 +1780,12 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs)
 	   but keep the previous behaviour for now. */
 	if (!ispipe && !S_ISREG(inode->i_mode))
 		goto close_fail;
+	/*
+	 * Dont allow local users get cute and trick others to coredump
+	 * into their pre-created files:
+	 */
+	if (inode->i_uid != current->fsuid)
+		goto close_fail;
 	if (!file->f_op)
 		goto close_fail;
 	if (!file->f_op->write)