提交 d8d45e68 编写于 作者: C Chao Leng 提交者: Yang Yingliang

nvme-core: use list_add_tail_rcu instead of list_add_tail for nvme_init_ns_head

mainline inclusion
from mainline-v5.11-rc6
commit 772ea326
category: bugfix
bugzilla: NA
CVE: NA
Link: https://gitee.com/openeuler/kernel/issues/I4JFBE?from=project-issue

-------------------------------------------------

The "list" of nvme_ns_head is used as rcu list, now in nvme_init_ns_head
list_add_tail is used to add ns->siblings to the rcu list. It is not safe.
Should use list_add_tail_rcu instead of list_add_tail.
Signed-off-by: NChao Leng <lengchao@huawei.com>
Signed-off-by: NChristoph Hellwig <hch@lst.de>

conflicts:
drivers/nvme/host/core.c
[adjust context]
Signed-off-by: Nchengjike <chengjike.cheng@huawei.com>
Reviewed-by: NAo Sun <sunao.sun@huawei.com>
Reviewed-by: NZhenwei Yang <yangzhenwei@huawei.com>
Reviewed-by: NHou Tao <houtao1@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 b5ce8101
...@@ -3219,7 +3219,7 @@ static int nvme_init_ns_head(struct nvme_ns *ns, unsigned nsid, ...@@ -3219,7 +3219,7 @@ static int nvme_init_ns_head(struct nvme_ns *ns, unsigned nsid,
} }
} }
list_add_tail(&ns->siblings, &head->list); list_add_tail_rcu(&ns->siblings, &head->list);
ns->head = head; ns->head = head;
out_unlock: out_unlock:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册