Skip to content

Commit fc5a1d2

Browse files
vcgomesamir73il
authored andcommitted
ovl: use wrapper ovl_revert_creds()
Introduce ovl_revert_creds() wrapper of revert_creds() to match callers of ovl_override_creds(). Suggested-by: Amir Goldstein <[email protected]> Signed-off-by: Vinicius Costa Gomes <[email protected]> Signed-off-by: Amir Goldstein <[email protected]>
1 parent d06ffd6 commit fc5a1d2

File tree

9 files changed

+44
-39
lines changed

9 files changed

+44
-39
lines changed

fs/overlayfs/copy_up.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1260,7 +1260,7 @@ static int ovl_copy_up_flags(struct dentry *dentry, int flags)
12601260
dput(parent);
12611261
dput(next);
12621262
}
1263-
revert_creds(old_cred);
1263+
ovl_revert_creds(old_cred);
12641264

12651265
return err;
12661266
}

fs/overlayfs/dir.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ static int ovl_create_or_link(struct dentry *dentry, struct inode *inode,
621621
err = ovl_create_over_whiteout(dentry, inode, attr);
622622

623623
out_revert_creds:
624-
revert_creds(old_cred);
624+
ovl_revert_creds(old_cred);
625625
return err;
626626
}
627627

@@ -702,7 +702,7 @@ static int ovl_set_link_redirect(struct dentry *dentry)
702702

703703
old_cred = ovl_override_creds(dentry->d_sb);
704704
err = ovl_set_redirect(dentry, false);
705-
revert_creds(old_cred);
705+
ovl_revert_creds(old_cred);
706706

707707
return err;
708708
}
@@ -912,7 +912,7 @@ static int ovl_do_remove(struct dentry *dentry, bool is_dir)
912912
err = ovl_remove_upper(dentry, is_dir, &list);
913913
else
914914
err = ovl_remove_and_whiteout(dentry, &list);
915-
revert_creds(old_cred);
915+
ovl_revert_creds(old_cred);
916916
if (!err) {
917917
if (is_dir)
918918
clear_nlink(dentry->d_inode);
@@ -1292,7 +1292,7 @@ static int ovl_rename(struct mnt_idmap *idmap, struct inode *olddir,
12921292
out_unlock:
12931293
unlock_rename(new_upperdir, old_upperdir);
12941294
out_revert_creds:
1295-
revert_creds(old_cred);
1295+
ovl_revert_creds(old_cred);
12961296
if (update_nlink)
12971297
ovl_nlink_end(new);
12981298
else
@@ -1337,7 +1337,7 @@ static int ovl_create_tmpfile(struct file *file, struct dentry *dentry,
13371337
fput(realfile);
13381338
}
13391339
out_revert_creds:
1340-
revert_creds(old_cred);
1340+
ovl_revert_creds(old_cred);
13411341
return err;
13421342
}
13431343

fs/overlayfs/file.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ static struct file *ovl_open_realfile(const struct file *file,
5151
realfile = backing_file_open(&file->f_path, flags, realpath,
5252
current_cred());
5353
}
54-
revert_creds(old_cred);
54+
ovl_revert_creds(old_cred);
5555

5656
pr_debug("open(%p[%pD2/%c], 0%o) -> (%p, 0%o)\n",
5757
file, file, ovl_whatisit(inode, realinode), file->f_flags,
@@ -215,7 +215,7 @@ static loff_t ovl_llseek(struct file *file, loff_t offset, int whence)
215215

216216
old_cred = ovl_override_creds(inode->i_sb);
217217
ret = vfs_llseek(fd_file(real), offset, whence);
218-
revert_creds(old_cred);
218+
ovl_revert_creds(old_cred);
219219

220220
file->f_pos = fd_file(real)->f_pos;
221221
ovl_inode_unlock(inode);
@@ -412,7 +412,7 @@ static int ovl_fsync(struct file *file, loff_t start, loff_t end, int datasync)
412412
if (file_inode(fd_file(real)) == ovl_inode_upper(file_inode(file))) {
413413
old_cred = ovl_override_creds(file_inode(file)->i_sb);
414414
ret = vfs_fsync_range(fd_file(real), start, end, datasync);
415-
revert_creds(old_cred);
415+
ovl_revert_creds(old_cred);
416416
}
417417

418418
fdput(real);
@@ -451,7 +451,7 @@ static long ovl_fallocate(struct file *file, int mode, loff_t offset, loff_t len
451451

452452
old_cred = ovl_override_creds(file_inode(file)->i_sb);
453453
ret = vfs_fallocate(fd_file(real), mode, offset, len);
454-
revert_creds(old_cred);
454+
ovl_revert_creds(old_cred);
455455

456456
/* Update size */
457457
ovl_file_modified(file);
@@ -476,7 +476,7 @@ static int ovl_fadvise(struct file *file, loff_t offset, loff_t len, int advice)
476476

477477
old_cred = ovl_override_creds(file_inode(file)->i_sb);
478478
ret = vfs_fadvise(fd_file(real), offset, len, advice);
479-
revert_creds(old_cred);
479+
ovl_revert_creds(old_cred);
480480

481481
fdput(real);
482482

@@ -535,7 +535,7 @@ static loff_t ovl_copyfile(struct file *file_in, loff_t pos_in,
535535
flags);
536536
break;
537537
}
538-
revert_creds(old_cred);
538+
ovl_revert_creds(old_cred);
539539

540540
/* Update size */
541541
ovl_file_modified(file_out);
@@ -597,7 +597,7 @@ static int ovl_flush(struct file *file, fl_owner_t id)
597597
if (fd_file(real)->f_op->flush) {
598598
old_cred = ovl_override_creds(file_inode(file)->i_sb);
599599
err = fd_file(real)->f_op->flush(fd_file(real), id);
600-
revert_creds(old_cred);
600+
ovl_revert_creds(old_cred);
601601
}
602602
fdput(real);
603603

fs/overlayfs/inode.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ int ovl_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
8080
inode_lock(upperdentry->d_inode);
8181
old_cred = ovl_override_creds(dentry->d_sb);
8282
err = ovl_do_notify_change(ofs, upperdentry, attr);
83-
revert_creds(old_cred);
83+
ovl_revert_creds(old_cred);
8484
if (!err)
8585
ovl_copyattr(dentry->d_inode);
8686
inode_unlock(upperdentry->d_inode);
@@ -280,7 +280,7 @@ int ovl_getattr(struct mnt_idmap *idmap, const struct path *path,
280280
stat->nlink = dentry->d_inode->i_nlink;
281281

282282
out:
283-
revert_creds(old_cred);
283+
ovl_revert_creds(old_cred);
284284

285285
return err;
286286
}
@@ -317,7 +317,7 @@ int ovl_permission(struct mnt_idmap *idmap,
317317
mask |= MAY_READ;
318318
}
319319
err = inode_permission(mnt_idmap(realpath.mnt), realinode, mask);
320-
revert_creds(old_cred);
320+
ovl_revert_creds(old_cred);
321321

322322
return err;
323323
}
@@ -334,7 +334,7 @@ static const char *ovl_get_link(struct dentry *dentry,
334334

335335
old_cred = ovl_override_creds(dentry->d_sb);
336336
p = vfs_get_link(ovl_dentry_real(dentry), done);
337-
revert_creds(old_cred);
337+
ovl_revert_creds(old_cred);
338338
return p;
339339
}
340340

@@ -469,7 +469,7 @@ struct posix_acl *do_ovl_get_acl(struct mnt_idmap *idmap,
469469

470470
old_cred = ovl_override_creds(inode->i_sb);
471471
acl = ovl_get_acl_path(&realpath, posix_acl_xattr_name(type), noperm);
472-
revert_creds(old_cred);
472+
ovl_revert_creds(old_cred);
473473
}
474474

475475
return acl;
@@ -498,7 +498,7 @@ static int ovl_set_or_remove_acl(struct dentry *dentry, struct inode *inode,
498498
old_cred = ovl_override_creds(dentry->d_sb);
499499
real_acl = vfs_get_acl(mnt_idmap(realpath.mnt), realdentry,
500500
acl_name);
501-
revert_creds(old_cred);
501+
ovl_revert_creds(old_cred);
502502
if (IS_ERR(real_acl)) {
503503
err = PTR_ERR(real_acl);
504504
goto out;
@@ -523,7 +523,7 @@ static int ovl_set_or_remove_acl(struct dentry *dentry, struct inode *inode,
523523
err = ovl_do_set_acl(ofs, realdentry, acl_name, acl);
524524
else
525525
err = ovl_do_remove_acl(ofs, realdentry, acl_name);
526-
revert_creds(old_cred);
526+
ovl_revert_creds(old_cred);
527527
ovl_drop_write(dentry);
528528

529529
/* copy c/mtime */
@@ -600,7 +600,7 @@ static int ovl_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
600600

601601
old_cred = ovl_override_creds(inode->i_sb);
602602
err = realinode->i_op->fiemap(realinode, fieinfo, start, len);
603-
revert_creds(old_cred);
603+
ovl_revert_creds(old_cred);
604604

605605
return err;
606606
}
@@ -676,7 +676,7 @@ int ovl_fileattr_set(struct mnt_idmap *idmap,
676676
err = ovl_set_protattr(inode, upperpath.dentry, fa);
677677
if (!err)
678678
err = ovl_real_fileattr_set(&upperpath, fa);
679-
revert_creds(old_cred);
679+
ovl_revert_creds(old_cred);
680680
ovl_drop_write(dentry);
681681

682682
/*
@@ -738,7 +738,7 @@ int ovl_fileattr_get(struct dentry *dentry, struct fileattr *fa)
738738
old_cred = ovl_override_creds(inode->i_sb);
739739
err = ovl_real_fileattr_get(&realpath, fa);
740740
ovl_fileattr_prot_flags(inode, fa);
741-
revert_creds(old_cred);
741+
ovl_revert_creds(old_cred);
742742

743743
return err;
744744
}

fs/overlayfs/namei.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -961,7 +961,7 @@ static int ovl_maybe_validate_verity(struct dentry *dentry)
961961
if (err == 0)
962962
ovl_set_flag(OVL_VERIFIED_DIGEST, inode);
963963

964-
revert_creds(old_cred);
964+
ovl_revert_creds(old_cred);
965965
}
966966

967967
ovl_inode_unlock(inode);
@@ -995,7 +995,7 @@ static int ovl_maybe_lookup_lowerdata(struct dentry *dentry)
995995

996996
old_cred = ovl_override_creds(dentry->d_sb);
997997
err = ovl_lookup_data_layers(dentry, redirect, &datapath);
998-
revert_creds(old_cred);
998+
ovl_revert_creds(old_cred);
999999
if (err)
10001000
goto out_err;
10011001

@@ -1342,7 +1342,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
13421342

13431343
ovl_dentry_init_reval(dentry, upperdentry, OVL_I_E(inode));
13441344

1345-
revert_creds(old_cred);
1345+
ovl_revert_creds(old_cred);
13461346
if (origin_path) {
13471347
dput(origin_path->dentry);
13481348
kfree(origin_path);
@@ -1366,7 +1366,7 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
13661366
kfree(upperredirect);
13671367
out:
13681368
kfree(d.redirect);
1369-
revert_creds(old_cred);
1369+
ovl_revert_creds(old_cred);
13701370
return ERR_PTR(err);
13711371
}
13721372

@@ -1423,7 +1423,7 @@ bool ovl_lower_positive(struct dentry *dentry)
14231423
dput(this);
14241424
}
14251425
}
1426-
revert_creds(old_cred);
1426+
ovl_revert_creds(old_cred);
14271427

14281428
return positive;
14291429
}

fs/overlayfs/overlayfs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,7 @@ int ovl_want_write(struct dentry *dentry);
429429
void ovl_drop_write(struct dentry *dentry);
430430
struct dentry *ovl_workdir(struct dentry *dentry);
431431
const struct cred *ovl_override_creds(struct super_block *sb);
432+
void ovl_revert_creds(const struct cred *old_cred);
432433

433434
static inline const struct cred *ovl_creds(struct super_block *sb)
434435
{

fs/overlayfs/readdir.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ static int ovl_check_whiteouts(const struct path *path, struct ovl_readdir_data
290290
}
291291
inode_unlock(dir->d_inode);
292292
}
293-
revert_creds(old_cred);
293+
ovl_revert_creds(old_cred);
294294

295295
return err;
296296
}
@@ -808,7 +808,7 @@ static int ovl_iterate(struct file *file, struct dir_context *ctx)
808808
}
809809
err = 0;
810810
out:
811-
revert_creds(old_cred);
811+
ovl_revert_creds(old_cred);
812812
return err;
813813
}
814814

@@ -860,7 +860,7 @@ static struct file *ovl_dir_open_realfile(const struct file *file,
860860

861861
old_cred = ovl_override_creds(file_inode(file)->i_sb);
862862
res = ovl_path_open(realpath, O_RDONLY | (file->f_flags & O_LARGEFILE));
863-
revert_creds(old_cred);
863+
ovl_revert_creds(old_cred);
864864

865865
return res;
866866
}
@@ -987,7 +987,7 @@ int ovl_check_empty_dir(struct dentry *dentry, struct list_head *list)
987987

988988
old_cred = ovl_override_creds(dentry->d_sb);
989989
err = ovl_dir_read_merged(dentry, list, &root);
990-
revert_creds(old_cred);
990+
ovl_revert_creds(old_cred);
991991
if (err)
992992
return err;
993993

fs/overlayfs/util.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ const struct cred *ovl_override_creds(struct super_block *sb)
6868
return override_creds(ofs->creator_cred);
6969
}
7070

71+
void ovl_revert_creds(const struct cred *old_cred)
72+
{
73+
revert_creds(old_cred);
74+
}
75+
7176
/*
7277
* Check if underlying fs supports file handles and try to determine encoding
7378
* type, in order to deduce maximum inode number used by fs.
@@ -1178,7 +1183,7 @@ int ovl_nlink_start(struct dentry *dentry)
11781183
* value relative to the upper inode nlink in an upper inode xattr.
11791184
*/
11801185
err = ovl_set_nlink_upper(dentry);
1181-
revert_creds(old_cred);
1186+
ovl_revert_creds(old_cred);
11821187
if (err)
11831188
goto out_drop_write;
11841189

@@ -1203,7 +1208,7 @@ void ovl_nlink_end(struct dentry *dentry)
12031208

12041209
old_cred = ovl_override_creds(dentry->d_sb);
12051210
ovl_cleanup_index(dentry);
1206-
revert_creds(old_cred);
1211+
ovl_revert_creds(old_cred);
12071212
}
12081213

12091214
ovl_inode_unlock(inode);

fs/overlayfs/xattrs.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ static int ovl_xattr_set(struct dentry *dentry, struct inode *inode, const char
4747
ovl_path_lower(dentry, &realpath);
4848
old_cred = ovl_override_creds(dentry->d_sb);
4949
err = vfs_getxattr(mnt_idmap(realpath.mnt), realdentry, name, NULL, 0);
50-
revert_creds(old_cred);
50+
ovl_revert_creds(old_cred);
5151
if (err < 0)
5252
goto out;
5353
}
@@ -72,7 +72,7 @@ static int ovl_xattr_set(struct dentry *dentry, struct inode *inode, const char
7272
WARN_ON(flags != XATTR_REPLACE);
7373
err = ovl_do_removexattr(ofs, realdentry, name);
7474
}
75-
revert_creds(old_cred);
75+
ovl_revert_creds(old_cred);
7676
ovl_drop_write(dentry);
7777

7878
/* copy c/mtime */
@@ -91,7 +91,7 @@ static int ovl_xattr_get(struct dentry *dentry, struct inode *inode, const char
9191
ovl_i_path_real(inode, &realpath);
9292
old_cred = ovl_override_creds(dentry->d_sb);
9393
res = vfs_getxattr(mnt_idmap(realpath.mnt), realpath.dentry, name, value, size);
94-
revert_creds(old_cred);
94+
ovl_revert_creds(old_cred);
9595
return res;
9696
}
9797

@@ -121,7 +121,7 @@ ssize_t ovl_listxattr(struct dentry *dentry, char *list, size_t size)
121121

122122
old_cred = ovl_override_creds(dentry->d_sb);
123123
res = vfs_listxattr(realdentry, list, size);
124-
revert_creds(old_cred);
124+
ovl_revert_creds(old_cred);
125125
if (res <= 0 || size == 0)
126126
return res;
127127

@@ -268,4 +268,3 @@ const struct xattr_handler * const *ovl_xattr_handlers(struct ovl_fs *ofs)
268268
return ofs->config.userxattr ? ovl_user_xattr_handlers :
269269
ovl_trusted_xattr_handlers;
270270
}
271-

0 commit comments

Comments
 (0)