[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 15/18] hw/block/nvme: reject invalid nsid values in active
From: |
Klaus Jensen |
Subject: |
Re: [PATCH v2 15/18] hw/block/nvme: reject invalid nsid values in active namespace id list |
Date: |
Fri, 3 Jul 2020 10:37:01 +0200 |
On Jul 3 10:20, Philippe Mathieu-Daudé wrote:
> On 7/3/20 8:34 AM, Klaus Jensen wrote:
> > From: Klaus Jensen <k.jensen@samsung.com>
> >
> > Reject the nsid broadcast value (0xffffffff) and 0xfffffffe in the
> > Active Namespace ID list.
>
> Can we have a definition instead of this 0xfffffffe magic value please?
>
Hmm, not really actually. It's not a magic value, its just because the
logic in Active Namespace ID list would require that it should report
any namespaces with ids *higher* than the one specified, so since
0xffffffff (NVME_NSID_BROADCAST) is invalid, NVME_NSID_BROADCAST - 1
needs to be as well.
What do you say I change it to `min_nsid >= NVME_NSID_BROADCAST - 1`?
The original condition just reads well if you are sitting with the spec
on the side.
> >
> > Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
> > ---
> > hw/block/nvme.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/hw/block/nvme.c b/hw/block/nvme.c
> > index 65c2fa3ac1f4..0dac7a41ddae 100644
> > --- a/hw/block/nvme.c
> > +++ b/hw/block/nvme.c
> > @@ -956,6 +956,10 @@ static uint16_t nvme_identify_nslist(NvmeCtrl *n,
> > NvmeIdentify *c)
> >
> > trace_pci_nvme_identify_nslist(min_nsid);
> >
> > + if (min_nsid == 0xfffffffe || min_nsid == NVME_NSID_BROADCAST) {
> > + return NVME_INVALID_NSID | NVME_DNR;
> > + }
> > +
> > list = g_malloc0(data_len);
> > for (i = 0; i < n->num_namespaces; i++) {
> > if (i < min_nsid) {
> >
>
- Re: [PATCH v2 11/18] hw/block/nvme: add remaining mandatory controller parameters, (continued)
[PATCH v2 17/18] hw/block/nvme: provide the mandatory subnqn field, Klaus Jensen, 2020/07/03
[PATCH v2 16/18] hw/block/nvme: enforce valid queue creation sequence, Klaus Jensen, 2020/07/03
[PATCH v2 15/18] hw/block/nvme: reject invalid nsid values in active namespace id list, Klaus Jensen, 2020/07/03
[PATCH v2 18/18] hw/block/nvme: bump supported version to v1.3, Klaus Jensen, 2020/07/03