From: Dan Carpenter <dan.carpenter@oracle.com>
To: sagi@lightbitslabs.com
Cc: linux-nvme@lists.infradead.org
Subject: [bug report] nvme-tcp: add NVMe over TCP host driver
Date: Tue, 24 Aug 2021 16:16:38 +0300 [thread overview]
Message-ID: <20210824131638.GA5558@kili> (raw)
Hello Sagi Grimberg,
The patch 3f2304f8c6d6: "nvme-tcp: add NVMe over TCP host driver"
from Dec 3, 2018, leads to the following
Smatch static checker warning:
drivers/nvme/host/multipath.c:101 nvme_kick_requeue_lists()
warn: sleeping in atomic context
drivers/nvme/host/multipath.c
97 void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl)
98 {
99 struct nvme_ns *ns;
100
--> 101 down_read(&ctrl->namespaces_rwsem);
102 list_for_each_entry(ns, &ctrl->namespaces, list) {
103 if (ns->head->disk)
104 kblockd_schedule_work(&ns->head->requeue_work);
105 }
106 up_read(&ctrl->namespaces_rwsem);
107 }
This is a new Smatch warning I'm working on and it's sort of
overwhelming because it has generates too many warnings and they're
complicated to analyze and report. I'm trying to send these
automatically generated call trees to see if it will help.
nvme_fc_unregister_remoteport() <- disables preempt
-> nvme_fc_ctrl_connectivity_loss()
-> nvme_reset_ctrl()
nvme_fc_ctrl_connectivity_loss() <duplicate>
nvme_fc_unregister_remoteport() <- disables preempt <duplicate>
nvme_fc_exit_module() <- disables preempt
-> nvme_fc_cleanup_for_unload()
-> nvme_fc_delete_controllers() <- disables preempt
-> nvme_delete_ctrl()
nvme_tcp_state_change() <- disables preempt
-> nvme_tcp_error_recovery()
-> nvme_change_ctrl_state()
-> nvme_kick_requeue_lists()
I looked at the last call tree and it seems like potentially a real bug.
nvme_tcp_state_change() <- disables preempt
-> nvme_tcp_error_recovery()
-> nvme_change_ctrl_state()
-> nvme_kick_requeue_lists()
regards,
dan carpenter
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
next reply other threads:[~2021-08-24 13:18 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-24 13:16 Dan Carpenter [this message]
2021-09-01 14:56 ` [bug report] nvme-tcp: add NVMe over TCP host driver Sagi Grimberg
2021-09-02 9:37 ` Dan Carpenter
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=20210824131638.GA5558@kili \
--to=dan.carpenter@oracle.com \
--cc=linux-nvme@lists.infradead.org \
--cc=sagi@lightbitslabs.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox