Unverified Commit c12db92d authored by Christian Brauner's avatar Christian Brauner Committed by Christian Brauner (Microsoft)
Browse files

ovl: port to vfs{g,u}id_t and associated helpers



A while ago we introduced a dedicated vfs{g,u}id_t type in commit
1e5267cd ("mnt_idmapping: add vfs{g,u}id_t"). We already switched
over a good part of the VFS. Ultimately we will remove all legacy
idmapped mount helpers that operate only on k{g,u}id_t in favor of the
new type safe helpers that operate on vfs{g,u}id_t.

Cc: Amir Goldstein <amir73il@gmail.com>
Cc: Christoph Hellwig <hch@lst.de>
Reviewed-by: default avatarSeth Forshee (DigitalOcean) <sforshee@kernel.org>
Signed-off-by: default avatarChristian Brauner (Microsoft) <brauner@kernel.org>
parent a03a972b
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -1104,13 +1104,18 @@ void ovl_copyattr(struct inode *inode)
	struct path realpath;
	struct inode *realinode;
	struct user_namespace *real_mnt_userns;
	vfsuid_t vfsuid;
	vfsgid_t vfsgid;

	ovl_i_path_real(inode, &realpath);
	realinode = d_inode(realpath.dentry);
	real_mnt_userns = mnt_user_ns(realpath.mnt);

	inode->i_uid = i_uid_into_mnt(real_mnt_userns, realinode);
	inode->i_gid = i_gid_into_mnt(real_mnt_userns, realinode);
	vfsuid = i_uid_into_vfsuid(real_mnt_userns, realinode);
	vfsgid = i_gid_into_vfsgid(real_mnt_userns, realinode);

	inode->i_uid = vfsuid_into_kuid(vfsuid);
	inode->i_gid = vfsgid_into_kgid(vfsgid);
	inode->i_mode = realinode->i_mode;
	inode->i_atime = realinode->i_atime;
	inode->i_mtime = realinode->i_mtime;