]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ovl: port ovl_setattr() to cred guard
authorChristian Brauner <brauner@kernel.org>
Mon, 17 Nov 2025 09:33:44 +0000 (10:33 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 19 Nov 2025 20:58:21 +0000 (21:58 +0100)
Use the scoped ovl cred guard.

Link: https://patch.msgid.link/20251117-work-ovl-cred-guard-v4-13-b31603935724@kernel.org
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/overlayfs/inode.c

index e11f310ce092adc871506b7632b3b22efaa38873..7b28318b7f31375ccb732e34b9b69d484fa3b2b6 100644 (file)
@@ -25,7 +25,6 @@ int ovl_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
        struct ovl_fs *ofs = OVL_FS(dentry->d_sb);
        bool full_copy_up = false;
        struct dentry *upperdentry;
-       const struct cred *old_cred;
 
        err = setattr_prepare(&nop_mnt_idmap, dentry, attr);
        if (err)
@@ -78,9 +77,8 @@ int ovl_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
                        goto out_put_write;
 
                inode_lock(upperdentry->d_inode);
-               old_cred = ovl_override_creds(dentry->d_sb);
-               err = ovl_do_notify_change(ofs, upperdentry, attr);
-               ovl_revert_creds(old_cred);
+               with_ovl_creds(dentry->d_sb)
+                       err = ovl_do_notify_change(ofs, upperdentry, attr);
                if (!err)
                        ovl_copyattr(dentry->d_inode);
                inode_unlock(upperdentry->d_inode);