|
@@ -1780,6 +1780,12 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs)
|
|
but keep the previous behaviour for now. */
|
|
but keep the previous behaviour for now. */
|
|
if (!ispipe && !S_ISREG(inode->i_mode))
|
|
if (!ispipe && !S_ISREG(inode->i_mode))
|
|
goto close_fail;
|
|
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)
|
|
if (!file->f_op)
|
|
goto close_fail;
|
|
goto close_fail;
|
|
if (!file->f_op->write)
|
|
if (!file->f_op->write)
|