Message ID | 20230113-fs-idmapped-mnt_idmap-conversion-v1-1-fc84fa7eba67@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | fs: finish conversion to mnt_idmap | expand |
On Fri, Jan 13, 2023 at 12:49:09PM +0100, Christian Brauner wrote: > Project ids are only settable filesystem wide in the initial namespace. > They don't take the mount's idmapping into account. > > Note, that after we converted everything over to struct mnt_idmap > mistakes such as the one here aren't possible anymore as struct > mnt_idmap cannot be passed to functions that operate on k{g,u}ids. So wht do we even pass a user namespace to make_kprojid? That only asks for this kind of confusing.
diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c index 6032589099ce..30baa0e2a21c 100644 --- a/fs/f2fs/namei.c +++ b/fs/f2fs/namei.c @@ -246,7 +246,7 @@ static struct inode *f2fs_new_inode(struct user_namespace *mnt_userns, (F2FS_I(dir)->i_flags & F2FS_PROJINHERIT_FL)) F2FS_I(inode)->i_projid = F2FS_I(dir)->i_projid; else - F2FS_I(inode)->i_projid = make_kprojid(mnt_userns, + F2FS_I(inode)->i_projid = make_kprojid(&init_user_ns, F2FS_DEF_PROJID); err = fscrypt_prepare_new_inode(dir, inode, &encrypt);
Project ids are only settable filesystem wide in the initial namespace. They don't take the mount's idmapping into account. Note, that after we converted everything over to struct mnt_idmap mistakes such as the one here aren't possible anymore as struct mnt_idmap cannot be passed to functions that operate on k{g,u}ids. Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org> --- fs/f2fs/namei.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)