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: 3e980f5995
("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>
This commit is contained in:
parent
ddd2b8de9f
commit
94f5a06884
@ -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,
|
static ssize_t nvmet_subsys_attr_qid_max_store(struct config_item *item,
|
||||||
const char *page, size_t cnt)
|
const char *page, size_t cnt)
|
||||||
{
|
{
|
||||||
struct nvmet_port *port = to_nvmet_port(item);
|
|
||||||
u16 qid_max;
|
u16 qid_max;
|
||||||
|
|
||||||
if (nvmet_is_port_enabled(port, __func__))
|
|
||||||
return -EACCES;
|
|
||||||
|
|
||||||
if (sscanf(page, "%hu\n", &qid_max) != 1)
|
if (sscanf(page, "%hu\n", &qid_max) != 1)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user