summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds2013-09-30 17:35:10 +0200
committerLinus Torvalds2013-10-12 22:12:31 +0200
commit9d05746e7b16d8565dddbe3200faa1e669d23bbf (patch)
tree34338d6fa3c2998692940da9db3ed7884cda74f3
parentMerge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kerne... (diff)
downloadkernel-qcow2-linux-9d05746e7b16d8565dddbe3200faa1e669d23bbf.tar.gz
kernel-qcow2-linux-9d05746e7b16d8565dddbe3200faa1e669d23bbf.tar.xz
kernel-qcow2-linux-9d05746e7b16d8565dddbe3200faa1e669d23bbf.zip
vfs: allow O_PATH file descriptors for fstatfs()
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> Cc: stable@kernel.org # O_PATH introduced in 3.0+ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/statfs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/statfs.c b/fs/statfs.c
index c219e733f553..083dc0ac9140 100644
--- a/fs/statfs.c
+++ b/fs/statfs.c
@@ -94,7 +94,7 @@ retry:
int fd_statfs(int fd, struct kstatfs *st)
{
- struct fd f = fdget(fd);
+ struct fd f = fdget_raw(fd);
int error = -EBADF;
if (f.file) {
error = vfs_statfs(&f.file->f_path, st);