mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
ovl: port ovl_lookup() to cred guard
Use the scoped ovl cred guard. Link: https://patch.msgid.link/20251117-work-ovl-cred-guard-v4-38-b31603935724@kernel.org Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
@@ -1376,7 +1376,6 @@ static int ovl_lookup_layers(struct ovl_lookup_ctx *ctx, struct ovl_lookup_data
|
||||
struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
|
||||
unsigned int flags)
|
||||
{
|
||||
const struct cred *old_cred;
|
||||
struct ovl_fs *ofs = OVL_FS(dentry->d_sb);
|
||||
struct ovl_entry *poe = OVL_E(dentry->d_parent);
|
||||
bool check_redirect = (ovl_redirect_follow(ofs) || ofs->numdatalayer);
|
||||
@@ -1394,11 +1393,9 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
|
||||
if (dentry->d_name.len > ofs->namelen)
|
||||
return ERR_PTR(-ENAMETOOLONG);
|
||||
|
||||
old_cred = ovl_override_creds(dentry->d_sb);
|
||||
with_ovl_creds(dentry->d_sb)
|
||||
err = ovl_lookup_layers(&ctx, &d);
|
||||
|
||||
err = ovl_lookup_layers(&ctx, &d);
|
||||
|
||||
ovl_revert_creds(old_cred);
|
||||
if (ctx.origin_path) {
|
||||
dput(ctx.origin_path->dentry);
|
||||
kfree(ctx.origin_path);
|
||||
|
||||
Reference in New Issue
Block a user