path: root/fs/fat/file.c
diff options
authorChristian Brauner <>2021-01-21 14:19:30 +0100
committerChristian Brauner <>2021-01-24 14:27:17 +0100
commit0d56a4518d5eaf595a24ab2202e171330bb2ed72 (patch)
tree8abcffb945ef36eb5bd290271a34a246c1d9379d /fs/fat/file.c
parent71bc356f93a1c589fad13f7487258f89c417976e (diff)
stat: handle idmapped mounts
The generic_fillattr() helper fills in the basic attributes associated with an inode. Enable it to handle idmapped mounts. If the inode is accessed through an idmapped mount map it into the mount's user namespace before we store the uid and gid. If the initial user namespace is passed nothing changes so non-idmapped mounts will see identical behavior as before. Link: Cc: Christoph Hellwig <> Cc: David Howells <> Cc: Al Viro <> Cc: Reviewed-by: Christoph Hellwig <> Reviewed-by: James Morris <> Signed-off-by: Christian Brauner <>
Diffstat (limited to 'fs/fat/file.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fat/file.c b/fs/fat/file.c
index 805b501467e9..f7e04f533d31 100644
--- a/fs/fat/file.c
+++ b/fs/fat/file.c
@@ -398,7 +398,7 @@ int fat_getattr(const struct path *path, struct kstat *stat,
u32 request_mask, unsigned int flags)
struct inode *inode = d_inode(path->dentry);
- generic_fillattr(inode, stat);
+ generic_fillattr(&init_user_ns, inode, stat);
stat->blksize = MSDOS_SB(inode->i_sb)->cluster_size;
if (MSDOS_SB(inode->i_sb)->options.nfs == FAT_NFS_NOSTALE_RO) {