Skip to content

Commit

Permalink
staging: erofs: sunset erofs_workstn_{lock,unlock}
Browse files Browse the repository at this point in the history
It was used for Linux backward compatibility, and
no use for upstream kernel.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Link: https://lore.kernel.org/r/20190731155752.210602-6-gaoxiang25@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Gao Xiang authored and Greg Kroah-Hartman committed Aug 2, 2019
1 parent cead56f commit b1897c6
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 8 deletions.
3 changes: 0 additions & 3 deletions drivers/staging/erofs/internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -179,9 +179,6 @@ static inline void *erofs_kmalloc(struct erofs_sb_info *sbi,
#define test_opt(sbi, option) ((sbi)->mount_opt & EROFS_MOUNT_##option)

#ifdef CONFIG_EROFS_FS_ZIP
#define erofs_workstn_lock(sbi) xa_lock(&(sbi)->workstn_tree)
#define erofs_workstn_unlock(sbi) xa_unlock(&(sbi)->workstn_tree)

/* basic unit of the workstation of a super_block */
struct erofs_workgroup {
/* the workgroup index in the workstation */
Expand Down
10 changes: 5 additions & 5 deletions drivers/staging/erofs/utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,14 @@ int erofs_register_workgroup(struct super_block *sb,
return err;

sbi = EROFS_SB(sb);
erofs_workstn_lock(sbi);
xa_lock(&sbi->workstn_tree);

grp = xa_tag_pointer(grp, tag);

/*
* Bump up reference count before making this workgroup
* visible to other users in order to avoid potential UAF
* without serialized by erofs_workstn_lock.
* without serialized by workstn_lock.
*/
__erofs_workgroup_get(grp);

Expand All @@ -122,7 +122,7 @@ int erofs_register_workgroup(struct super_block *sb,
*/
__erofs_workgroup_put(grp);

erofs_workstn_unlock(sbi);
xa_unlock(&sbi->workstn_tree);
radix_tree_preload_end();
return err;
}
Expand Down Expand Up @@ -225,7 +225,7 @@ unsigned long erofs_shrink_workstation(struct erofs_sb_info *sbi,

int i, found;
repeat:
erofs_workstn_lock(sbi);
xa_lock(&sbi->workstn_tree);

found = radix_tree_gang_lookup(&sbi->workstn_tree,
batch, first_index, PAGEVEC_SIZE);
Expand All @@ -243,7 +243,7 @@ unsigned long erofs_shrink_workstation(struct erofs_sb_info *sbi,
if (unlikely(!--nr_shrink))
break;
}
erofs_workstn_unlock(sbi);
xa_unlock(&sbi->workstn_tree);

if (i && nr_shrink)
goto repeat;
Expand Down

0 comments on commit b1897c6

Please sign in to comment.