vfs: allow O_PATH file descriptors for fstatfs()
commit9d05746e7b
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 commit55815f7014
("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>
This commit is contained in:
parent
c2f2710012
commit
5187f535be
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue