mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
nvme: verify MNAN value if ANA is enabled
The controller is required to have a non-zero MNAN value if it supports ANA: If the controller supports Asymmetric Namespace Access Reporting, then this field shall be set to a non-zero value that is less than or equal to the NN value. Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Signed-off-by: Daniel Wagner <dwagner@suse.de> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
6485fc18fa
commit
120bb3624d
@ -818,6 +818,13 @@ int nvme_mpath_init_identify(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id)
|
||||
!(ctrl->subsys->cmic & NVME_CTRL_CMIC_ANA))
|
||||
return 0;
|
||||
|
||||
if (!ctrl->max_namespaces ||
|
||||
ctrl->max_namespaces > le32_to_cpu(id->nn)) {
|
||||
dev_err(ctrl->device,
|
||||
"Invalid MNAN value %u\n", ctrl->max_namespaces);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ctrl->anacap = id->anacap;
|
||||
ctrl->anatt = id->anatt;
|
||||
ctrl->nanagrpid = le32_to_cpu(id->nanagrpid);
|
||||
|
Loading…
Reference in New Issue
Block a user