ovl: handle idmappings for layer fileattrs
authorChristian Brauner <brauner@kernel.org>
Mon, 4 Apr 2022 10:51:51 +0000 (12:51 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Thu, 28 Apr 2022 14:31:11 +0000 (16:31 +0200)
Take the upper mount's idmapping into account when setting fileattrs on
the upper layer. This is needed to support idmapped base layers with
overlay.

Cc: <linux-unionfs@vger.kernel.org>
Tested-by: Giuseppe Scrivano <gscrivan@redhat.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/inode.c

index c7f2a2a8ac1d8617f48da9b0c85d7a0e35b7791b..7ed5df9c0fa65b4e9ce3159d5a2bcda6ec37f10e 100644 (file)
@@ -537,7 +537,7 @@ int ovl_real_fileattr_set(struct path *realpath, struct fileattr *fa)
        if (err)
                return err;
 
-       return vfs_fileattr_set(&init_user_ns, realpath->dentry, fa);
+       return vfs_fileattr_set(mnt_user_ns(realpath->mnt), realpath->dentry, fa);
 }
 
 int ovl_fileattr_set(struct user_namespace *mnt_userns,