diff options
author | Daniel Wagner <dwagner@suse.de> | 2022-10-07 09:29:34 +0200 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2022-10-19 12:43:13 +0200 |
commit | 94f5a06884074dcd99606d7b329e133ee65ea6ad (patch) | |
tree | f45a99916e583dd8c721b8084057993686e3455c | |
parent | nvmet: fix workqueue MEM_RECLAIM flushing dependency (diff) | |
download | linux-94f5a06884074dcd99606d7b329e133ee65ea6ad.tar.xz linux-94f5a06884074dcd99606d7b329e133ee65ea6ad.zip |
nvmet: fix invalid memory reference in nvmet_subsys_attr_qid_max_show
The item passed into nvmet_subsys_attr_qid_max_show is not a member of
struct nvmet_port, it is part of nvmet_subsys. Hence, don't try to
dereference it as struct nvme_ctrl pointer.
Fixes: 3e980f5995e0 ("nvmet: Expose max queues to configfs")
Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Link: https://lore.kernel.org/r/20220913064203.133536-1-dwagner@suse.de
Signed-off-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Acked-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
-rw-r--r-- | drivers/nvme/target/configfs.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/nvme/target/configfs.c b/drivers/nvme/target/configfs.c index e34a2896fedb..9443ee1d4ae3 100644 --- a/drivers/nvme/target/configfs.c +++ b/drivers/nvme/target/configfs.c @@ -1290,12 +1290,8 @@ static ssize_t nvmet_subsys_attr_qid_max_show(struct config_item *item, static ssize_t nvmet_subsys_attr_qid_max_store(struct config_item *item, const char *page, size_t cnt) { - struct nvmet_port *port = to_nvmet_port(item); u16 qid_max; - if (nvmet_is_port_enabled(port, __func__)) - return -EACCES; - if (sscanf(page, "%hu\n", &qid_max) != 1) return -EINVAL; |