mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 05:34:13 +08:00
swapfile: fix name leak in swapoff
There's a name leak introduced by commit 91a27b2a75
("vfs: define
struct filename and have getname() return it"). Add the missing
putname.
[akpm@linux-foundation.org: cleanup]
Signed-off-by: Xiaotian Feng <dannyfeng@tencent.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
bea8c150a7
commit
f58b59c1df
@ -1494,9 +1494,8 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile)
|
||||
BUG_ON(!current->mm);
|
||||
|
||||
pathname = getname(specialfile);
|
||||
err = PTR_ERR(pathname);
|
||||
if (IS_ERR(pathname))
|
||||
goto out;
|
||||
return PTR_ERR(pathname);
|
||||
|
||||
victim = file_open_name(pathname, O_RDWR|O_LARGEFILE, 0);
|
||||
err = PTR_ERR(victim);
|
||||
@ -1608,6 +1607,7 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile)
|
||||
out_dput:
|
||||
filp_close(victim, NULL);
|
||||
out:
|
||||
putname(pathname);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user