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

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

index dbacf02423cbf9e949e57414c39c23eb9e915b1f..49874525cf52b36dfd75655d3339f9c8f1c8af0c 100644 (file)
@@ -996,7 +996,6 @@ static int ovl_maybe_lookup_lowerdata(struct dentry *dentry)
        struct inode *inode = d_inode(dentry);
        const char *redirect = ovl_lowerdata_redirect(inode);
        struct ovl_path datapath = {};
-       const struct cred *old_cred;
        int err;
 
        if (!redirect || ovl_dentry_lowerdata(dentry))
@@ -1014,9 +1013,8 @@ static int ovl_maybe_lookup_lowerdata(struct dentry *dentry)
        if (ovl_dentry_lowerdata(dentry))
                goto out;
 
-       old_cred = ovl_override_creds(dentry->d_sb);
-       err = ovl_lookup_data_layers(dentry, redirect, &datapath);
-       ovl_revert_creds(old_cred);
+       with_ovl_creds(dentry->d_sb)
+               err = ovl_lookup_data_layers(dentry, redirect, &datapath);
        if (err)
                goto out_err;