From: Chao Leng Date: Thu, 28 Jan 2021 03:33:51 +0000 (+0800) Subject: nvme-core: use list_add_tail_rcu instead of list_add_tail for nvme_init_ns_head X-Git-Tag: xarray-5.12~433^2~1^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=772ea326a4a00b6b4b2c8f3606ad10c31f46c511;p=users%2Fwilly%2Fxarray.git nvme-core: use list_add_tail_rcu instead of list_add_tail for nvme_init_ns_head 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: Chao Leng Signed-off-by: Christoph Hellwig --- diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 8caf9b34734d..f13eb4ded95f 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -3829,7 +3829,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; mutex_unlock(&ctrl->subsys->lock); return 0;