<p>On Mon, 17 Oct 2022 09:55:53 +0800
<br>Dawei Li <set_pte_at@outlook.com> wrote:
<br>
<br>> s_inodes is superblock-specific resource, which should be
<br>> protected by sb's specific lock s_inode_list_lock.
<br>> 
<br>> v2: update the locking mechanisim to protect mutual-exclusive access
<br>> both for s_inode_list_lock & erofs_fscache_domain_init_cookie(), as the
<br>> reviewing comments from Jia Zhu.
<br>> 
<br>> v1: https://lore.kernel.org/all/TYCP286MB23237A9993E0FFCFE5C2BDBECA269@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM/
<br>> 
<br>> base-commit: 8436c4a57bd147b0bd2943ab499bb8368981b9e1
<br>> 
<br>> Signed-off-by: Dawei Li <set_pte_at@outlook.com>
<br>> ---
<br>>  fs/erofs/fscache.c | 3 +++
<br>>  1 file changed, 3 insertions(+)
<br>> 
<br>> diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c
<br>> index 998cd26a1b3b..fe05bc51f9f2 100644
<br>> --- a/fs/erofs/fscache.c
<br>> +++ b/fs/erofs/fscache.c
<br>> @@ -590,14 +590,17 @@ struct erofs_fscache *erofs_domain_register_cookie(struct super_block *sb,
<br>>          struct super_block *psb = erofs_pseudo_mnt->mnt_sb;
<br>>  
<br>>          mutex_lock(&erofs_domain_cookies_lock);
<br>> +        spin_lock(&psb->s_inode_list_lock);
<br>>          list_for_each_entry(inode, &psb->s_inodes, i_sb_list) {
<br>>                  ctx = inode->i_private;
<br>>                  if (!ctx || ctx->domain != domain || strcmp(ctx->name, name))
<br>>                          continue;
<br>>                  igrab(inode);
<br>> +                spin_unlock(&psb->s_inode_list_lock);
<br>>                  mutex_unlock(&erofs_domain_cookies_lock);
<br>>                  return ctx;
<br>>          }
<br>> +        spin_unlock(&psb->s_inode_list_lock);
<br>>          ctx = erofs_fscache_domain_init_cookie(sb, name, need_inode);
<br>>          mutex_unlock(&erofs_domain_cookies_lock);
<br>>          return ctx;
<br>
<br>I will make clear that this change is fscache related in title.
<br>
<br>Reviewed-by: Yue Hu <huyue2@coolpad.com></p><meta data-version="editor_version_1.2.11"/><div data-zone-id="0" data-line-index="0" data-line="true" style="white-space: pre-wrap; margin-top: 4px; margin-bottom: 4px; line-height: 1.6;">------机密:此电子邮件所包含内容为酷派机密内容,并且受到法律的保护。如果您不属于以上电子邮件的目标接收者,您不得细读,使用,传播,散布或复制该电子邮件中的任何信息。如果您已经误收此电子邮件,请您立即通知我们并删除原电子邮件。 CONFIDENTIAL: This e-mail message contains information of Coolpad that is confidential and which is subject to legal privilege.If you are not the intended recipient as indicated above,you must not peruse,use, disseminate,distribute or copy any information contained in this message.If you have received this message in error, please notify us and delete the original message immediately.
</div><div data-zone-id="0" data-line-index="1" data-line="true" style="white-space: pre-wrap; margin-top: 4px; margin-bottom: 4px; line-height: 1.6;">------ 申明:本邮件所现内容,仅作为我们之间就合作的事宜进行的交流、沟通、洽谈、商议,不作为协议或承诺,一切协议及承诺必须以书面文本盖章为准。 DECLARATION:All contents of this E-mail ,are only regarded as the cooperation we have had between the exchanges, communication, negotiation and deliberation, not as a agreement or promise. All contracts and commitments must be  sealed shall prevail.
</div>