|
@@ -130,9 +130,13 @@ EXPORT_SYMBOL(vfs_getattr);
|
|
int vfs_statx_fd(unsigned int fd, struct kstat *stat,
|
|
int vfs_statx_fd(unsigned int fd, struct kstat *stat,
|
|
u32 request_mask, unsigned int query_flags)
|
|
u32 request_mask, unsigned int query_flags)
|
|
{
|
|
{
|
|
- struct fd f = fdget_raw(fd);
|
|
|
|
|
|
+ struct fd f;
|
|
int error = -EBADF;
|
|
int error = -EBADF;
|
|
|
|
|
|
|
|
+ if (query_flags & ~KSTAT_QUERY_FLAGS)
|
|
|
|
+ return -EINVAL;
|
|
|
|
+
|
|
|
|
+ f = fdget_raw(fd);
|
|
if (f.file) {
|
|
if (f.file) {
|
|
error = vfs_getattr(&f.file->f_path, stat,
|
|
error = vfs_getattr(&f.file->f_path, stat,
|
|
request_mask, query_flags);
|
|
request_mask, query_flags);
|