[PATCH 6/6] nvme: Add consistency check for zone count
Keith Busch
kbusch at kernel.org
Thu Jun 25 17:49:21 EDT 2020
On Thu, Jun 25, 2020 at 02:21:52PM +0200, Javier González wrote:
> drivers/nvme/host/zns.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/nvme/host/zns.c b/drivers/nvme/host/zns.c
> index 7d8381fe7665..de806788a184 100644
> --- a/drivers/nvme/host/zns.c
> +++ b/drivers/nvme/host/zns.c
> @@ -234,6 +234,13 @@ static int nvme_ns_report_zones(struct nvme_ns *ns, sector_t sector,
> sector += ns->zsze * nz;
> }
>
> + if (nr_zones < 0 && zone_idx != ns->nr_zones) {
> + dev_err(ns->ctrl->device, "inconsistent zone count %u/%u\n",
> + zone_idx, ns->nr_zones);
> + ret = -EINVAL;
> + goto out_free;
> + }
> +
> ret = zone_idx;
nr_zones is unsigned, so it's never < 0.
The API we're providing doesn't require zone_idx equal the namespace's
nr_zones at the end, though. A subset of the total number of zones can
be requested here.
More information about the Linux-nvme
mailing list