From: Al Viro Date: Mon, 27 Aug 2012 17:02:21 +0000 (-0400) Subject: switch prctl_set_mm_exe_file() to fget_light() X-Git-Tag: v3.7-rc1~134^2~17 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=e10ce27f0df9eda7b36eb16e553f07a9e05c6bba;p=linux.git switch prctl_set_mm_exe_file() to fget_light() Signed-off-by: Al Viro --- diff --git a/kernel/sys.c b/kernel/sys.c index 241507f23eca..0cb4283df884 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1790,9 +1790,9 @@ static int prctl_set_mm_exe_file(struct mm_struct *mm, unsigned int fd) { struct file *exe_file; struct dentry *dentry; - int err; + int err, fput_needed; - exe_file = fget(fd); + exe_file = fget_light(fd, &fput_needed); if (!exe_file) return -EBADF; @@ -1839,12 +1839,12 @@ static int prctl_set_mm_exe_file(struct mm_struct *mm, unsigned int fd) goto exit_unlock; err = 0; - set_mm_exe_file(mm, exe_file); + set_mm_exe_file(mm, exe_file); /* this grabs a reference to exe_file */ exit_unlock: up_write(&mm->mmap_sem); exit: - fput(exe_file); + fput_light(exe_file, fput_needed); return err; }