diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-30 08:35:10 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-22 09:02:25 +0100 |
commit | 5187f535beeb3731677c6f6d05402f9adec6e034 (patch) | |
tree | 596071de1c33e391d0e17d86136f0c85ce386d82 | |
parent | c2f271001295e9d4b1cca3a01502795e4f0d1639 (diff) | |
download | lwn-5187f535beeb3731677c6f6d05402f9adec6e034.tar.gz lwn-5187f535beeb3731677c6f6d05402f9adec6e034.zip |
vfs: allow O_PATH file descriptors for fstatfs()
commit 9d05746e7b16d8565dddbe3200faa1e669d23bbf upstream.
Olga reported that file descriptors opened with O_PATH do not work with
fstatfs(), found during further development of ksh93's thread support.
There is no reason to not allow O_PATH file descriptors here (fstatfs is
very much a path operation), so use "fdget_raw()". See commit
55815f70147d ("vfs: make O_PATH file descriptors usable for 'fstat()'")
for a very similar issue reported for fstat() by the same team.
Reported-and-tested-by: ольга крыжановская <olga.kryzhanovska@gmail.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | fs/statfs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/statfs.c b/fs/statfs.c index 43e6b6fe4e85..d1812b2840ea 100644 --- a/fs/statfs.c +++ b/fs/statfs.c @@ -87,7 +87,7 @@ int user_statfs(const char __user *pathname, struct kstatfs *st) int fd_statfs(int fd, struct kstatfs *st) { - struct file *file = fget(fd); + struct file *file = fget_raw(fd); int error = -EBADF; if (file) { error = vfs_statfs(&file->f_path, st); |