All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gao Xiang <gaoxiang25@huawei.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Chao Yu <yuchao0@huawei.com>, <devel@driverdev.osuosl.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	<linux-erofs@lists.ozlabs.org>, "Chao Yu" <chao@kernel.org>,
	Miao Xie <miaoxie@huawei.com>, <weidu.du@huawei.com>,
	Fang Wei <fangwei1@huawei.com>, Gao Xiang <gaoxiang25@huawei.com>
Subject: [PATCH v2 05/22] staging: erofs: sunset erofs_workstn_{lock,unlock}
Date: Wed, 31 Jul 2019 23:57:35 +0800	[thread overview]
Message-ID: <20190731155752.210602-6-gaoxiang25@huawei.com> (raw)
In-Reply-To: <20190731155752.210602-1-gaoxiang25@huawei.com>

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>
---
 drivers/staging/erofs/internal.h |  3 ---
 drivers/staging/erofs/utils.c    | 10 +++++-----
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/erofs/internal.h b/drivers/staging/erofs/internal.h
index 501429ec0f91..ed487ee56f74 100644
--- a/drivers/staging/erofs/internal.h
+++ b/drivers/staging/erofs/internal.h
@@ -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 */
diff --git a/drivers/staging/erofs/utils.c b/drivers/staging/erofs/utils.c
index a68dbe375fa0..024806003297 100644
--- a/drivers/staging/erofs/utils.c
+++ b/drivers/staging/erofs/utils.c
@@ -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);
 
@@ -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;
 }
@@ -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);
@@ -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;
-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: gaoxiang25@huawei.com (Gao Xiang)
Subject: [PATCH v2 05/22] staging: erofs: sunset erofs_workstn_{lock,unlock}
Date: Wed, 31 Jul 2019 23:57:35 +0800	[thread overview]
Message-ID: <20190731155752.210602-6-gaoxiang25@huawei.com> (raw)
In-Reply-To: <20190731155752.210602-1-gaoxiang25@huawei.com>

It was used for Linux backward compatibility, and
no use for upstream kernel.

Reviewed-by: Chao Yu <yuchao0 at huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25 at huawei.com>
---
 drivers/staging/erofs/internal.h |  3 ---
 drivers/staging/erofs/utils.c    | 10 +++++-----
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/erofs/internal.h b/drivers/staging/erofs/internal.h
index 501429ec0f91..ed487ee56f74 100644
--- a/drivers/staging/erofs/internal.h
+++ b/drivers/staging/erofs/internal.h
@@ -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 */
diff --git a/drivers/staging/erofs/utils.c b/drivers/staging/erofs/utils.c
index a68dbe375fa0..024806003297 100644
--- a/drivers/staging/erofs/utils.c
+++ b/drivers/staging/erofs/utils.c
@@ -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);
 
@@ -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;
 }
@@ -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);
@@ -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;
-- 
2.17.1

  parent reply	other threads:[~2019-07-31 15:59 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-31 15:57 [PATCH v2 00/22] staging: erofs: updates according to erofs-outofstaging v4 Gao Xiang
2019-07-31 15:57 ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 01/22] staging: erofs: update source file headers Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 02/22] staging: erofs: rename source files for better understanding Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 03/22] staging: erofs: fix dummy functions erofs_{get,list}xattr Gao Xiang
2019-07-31 15:57   ` [PATCH v2 03/22] staging: erofs: fix dummy functions erofs_{get, list}xattr Gao Xiang
2019-07-31 15:57 ` [PATCH v2 04/22] staging: erofs: keep up erofs_fs.h with erofs-outofstaging patchset Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` Gao Xiang [this message]
2019-07-31 15:57   ` [PATCH v2 05/22] staging: erofs: sunset erofs_workstn_{lock,unlock} Gao Xiang
2019-07-31 15:57 ` [PATCH v2 06/22] staging: erofs: clean up internal.h Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 07/22] staging: erofs: remove redundant #include "internal.h" Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-08-01  1:32   ` Chao Yu
2019-08-01  1:32     ` Chao Yu
2019-08-01  1:32     ` Chao Yu
2019-07-31 15:57 ` [PATCH v2 08/22] staging: erofs: kill CONFIG_EROFS_FS_IO_MAX_RETRIES Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-08-01  1:33   ` Chao Yu
2019-08-01  1:33     ` Chao Yu
2019-08-01  1:33     ` Chao Yu
2019-07-31 15:57 ` [PATCH v2 09/22] staging: erofs: clean up shrinker stuffs Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 10/22] staging: erofs: kill sbi->dev_name Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 11/22] staging: erofs: kill all failure handling in fill_super() Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 12/22] staging: erofs: drop __GFP_NOFAIL for managed inode Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-08-01  1:39   ` Chao Yu
2019-08-01  1:39     ` Chao Yu
2019-08-01  1:39     ` Chao Yu
2019-07-31 15:57 ` [PATCH v2 13/22] staging: erofs: refine erofs_allocpage() Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 14/22] staging: erofs: kill CONFIG_EROFS_FS_USE_VM_MAP_RAM Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 15/22] staging: erofs: tidy up zpvec.h Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 16/22] staging: erofs: remove redundant braces in inode.c Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 17/22] staging: erofs: tidy up decompression frontend Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 18/22] staging: erofs: remove clusterbits in sbi Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 19/22] staging: erofs: turn cache strategies into mount options Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 20/22] staging: erofs: tidy up utils.c Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 21/22] staging: erofs: update super.c Gao Xiang
2019-07-31 15:57   ` Gao Xiang
2019-07-31 15:57 ` [PATCH v2 22/22] staging: erofs: update Kconfig Gao Xiang
2019-07-31 15:57   ` Gao Xiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190731155752.210602-6-gaoxiang25@huawei.com \
    --to=gaoxiang25@huawei.com \
    --cc=chao@kernel.org \
    --cc=devel@driverdev.osuosl.org \
    --cc=fangwei1@huawei.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-erofs@lists.ozlabs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miaoxie@huawei.com \
    --cc=weidu.du@huawei.com \
    --cc=yuchao0@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.