projects/linux·commit 9d05746e

vfs: allow O_PATH file descriptors for fstatfs()

9d05746e · Linus Torvalds <[email protected]> · 2013-09-30 08:35:10 -07:00

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: ольга крыжановская <[email protected]>
Acked-by: Al Viro <[email protected]>
Cc: [email protected]	# O_PATH introduced in 3.0+
Signed-off-by: Linus Torvalds <[email protected]>
Commit
9d05746e7b16d8565dddbe3200faa1e669d23bbf
Parents
be5090da

Changes

1 files changed · +1 −1

FileStatusAddDelContent
fs/statfs.cmodified+1−1View file

fs/statfs.c

View file
diff --git a/fs/statfs.c b/fs/statfs.c
index c219e73..083dc0a 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);