diff --git a/[refs] b/[refs] index 2554f78f6165..46116f2b044f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f95e0d1c2ad668c77aa4b272c076faf3aa0d631c +refs/heads/master: 9bfb52ad716e74785b2402b7ea17f30e0344b8e8 diff --git a/trunk/fs/exec.c b/trunk/fs/exec.c index 4ccaaa4b13b2..282240afe99e 100644 --- a/trunk/fs/exec.c +++ b/trunk/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)