summaryrefslogtreecommitdiffstats
path: root/fs/coredump.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-11-04 13:44:46 +0300
committerAl Viro <viro@zeniv.linux.org.uk>2017-11-10 08:48:49 -0500
commit96271654f55c74ff7325fbdfc535466c9deb0ce6 (patch)
tree01a9c73ca27c828de7df07a6bdba2fbab980e98c /fs/coredump.c
parentda2f1362c8bdf187c171a59a2c84b8ed3566d5fe (diff)
downloadlinux-0-day-96271654f55c74ff7325fbdfc535466c9deb0ce6.tar.gz
linux-0-day-96271654f55c74ff7325fbdfc535466c9deb0ce6.tar.xz
coredump: call do_unlinkat directly instead of sys_unlink
And stop messing with the address limit. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/coredump.c')
-rw-r--r--fs/coredump.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/fs/coredump.c b/fs/coredump.c
index 0eec03696707f..cd72a4ca0cecc 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -679,16 +679,11 @@ void do_coredump(const siginfo_t *siginfo)
* privs and don't want to unlink another user's coredump.
*/
if (!need_suid_safe) {
- mm_segment_t old_fs;
-
- old_fs = get_fs();
- set_fs(KERNEL_DS);
/*
* If it doesn't exist, that's fine. If there's some
* other problem, we'll catch it at the filp_open().
*/
- (void) sys_unlink((const char __user *)cn.corename);
- set_fs(old_fs);
+ do_unlinkat(AT_FDCWD, getname_kernel(cn.corename));
}
/*