diff options
-rw-r--r-- | fs/exec.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -1780,6 +1780,12 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs) | |||
1780 | but keep the previous behaviour for now. */ | 1780 | but keep the previous behaviour for now. */ |
1781 | if (!ispipe && !S_ISREG(inode->i_mode)) | 1781 | if (!ispipe && !S_ISREG(inode->i_mode)) |
1782 | goto close_fail; | 1782 | goto close_fail; |
1783 | /* | ||
1784 | * Dont allow local users get cute and trick others to coredump | ||
1785 | * into their pre-created files: | ||
1786 | */ | ||
1787 | if (inode->i_uid != current->fsuid) | ||
1788 | goto close_fail; | ||
1783 | if (!file->f_op) | 1789 | if (!file->f_op) |
1784 | goto close_fail; | 1790 | goto close_fail; |
1785 | if (!file->f_op->write) | 1791 | if (!file->f_op->write) |