diff mbox series

[01/25] f2fs: project ids aren't idmapped

Message ID 20230113-fs-idmapped-mnt_idmap-conversion-v1-1-fc84fa7eba67@kernel.org (mailing list archive)
State New, archived
Headers show
Series fs: finish conversion to mnt_idmap | expand

Commit Message

Christian Brauner Jan. 13, 2023, 11:49 a.m. UTC
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(-)

Comments

Christoph Hellwig Jan. 16, 2023, 7:02 a.m. UTC | #1
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 mbox series

Patch

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);