[v2] net/vmxnet3: fix a missing vmxnet3 register command
Checks
Commit Message
Vmxnet3 uses capability registers to advertise the supported
capabilities of UPT device. It uses DCR0_REG command register
for this purpose. However, the register command enum misses
one command which technically is not used by dpdk vmxnet3
driver yet. This can cause issue for commands added later.
This patch fixes this issue by adding a reserved
command in its place.
Fixes: 5241d61bd865 ("net/vmxnet3: support capability registers")
Cc: stable@dpdk.org
Signed-off-by: Ronak Doshi <ronak.doshi@broadcom.com>
--
Change log
v2: fixed typo
---
drivers/net/vmxnet3/base/vmxnet3_defs.h | 1 +
1 file changed, 1 insertion(+)
Comments
On 4/18/2024 7:36 AM, Ronak Doshi wrote:
> Vmxnet3 uses capability registers to advertise the supported
> capabilities of UPT device. It uses DCR0_REG command register
> for this purpose. However, the register command enum misses
> one command which technically is not used by dpdk vmxnet3
> driver yet. This can cause issue for commands added later.
>
> This patch fixes this issue by adding a reserved
> command in its place.
>
> Fixes: 5241d61bd865 ("net/vmxnet3: support capability registers")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ronak Doshi <ronak.doshi@broadcom.com>
> --
> Change log
> v2: fixed typo
> ---
> drivers/net/vmxnet3/base/vmxnet3_defs.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/vmxnet3/base/vmxnet3_defs.h b/drivers/net/vmxnet3/base/vmxnet3_defs.h
> index 24c235876e..a6bb281d8d 100644
> --- a/drivers/net/vmxnet3/base/vmxnet3_defs.h
> +++ b/drivers/net/vmxnet3/base/vmxnet3_defs.h
> @@ -126,6 +126,7 @@ typedef enum {
> VMXNET3_CMD_RESERVED7,
> VMXNET3_CMD_RESERVED8,
> VMXNET3_CMD_GET_MAX_QUEUES_CONF,
> + VMXNET3_CMD_RESERVED11,
> VMXNET3_CMD_GET_MAX_CAPABILITIES,
> VMXNET3_CMD_GET_DCR0_REG,
> } Vmxnet3_Cmd;
Hi Ronak,
Thank you for the patch.
What is the fixed from user perspective, what is the impact.
I can see two commands effected from missing enum, they are GET_DCR0_REG
& GET_MAX_CAPABILITIES.
Was user not able to read capabilities, or get random capabilities, from
device up until now?
If so what were these capabilities and how user impacted from missing them?
Can you please detail the impact more in the commit log?
Basically it will just provide incorrect information. With the enum being
misaligned due to missing command, GET_DCR0_REG and GET_MAX_CAPABILITIES
will just lead to incorrect commands being issued.
Thanks,
Ronak
On Fri, Apr 19, 2024 at 1:35 AM Ferruh Yigit <ferruh.yigit@amd.com> wrote:
> On 4/18/2024 7:36 AM, Ronak Doshi wrote:
> > Vmxnet3 uses capability registers to advertise the supported
> > capabilities of UPT device. It uses DCR0_REG command register
> > for this purpose. However, the register command enum misses
> > one command which technically is not used by dpdk vmxnet3
> > driver yet. This can cause issue for commands added later.
> >
> > This patch fixes this issue by adding a reserved
> > command in its place.
> >
> > Fixes: 5241d61bd865 ("net/vmxnet3: support capability registers")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Ronak Doshi <ronak.doshi@broadcom.com>
> > --
> > Change log
> > v2: fixed typo
> > ---
> > drivers/net/vmxnet3/base/vmxnet3_defs.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/vmxnet3/base/vmxnet3_defs.h
> b/drivers/net/vmxnet3/base/vmxnet3_defs.h
> > index 24c235876e..a6bb281d8d 100644
> > --- a/drivers/net/vmxnet3/base/vmxnet3_defs.h
> > +++ b/drivers/net/vmxnet3/base/vmxnet3_defs.h
> > @@ -126,6 +126,7 @@ typedef enum {
> > VMXNET3_CMD_RESERVED7,
> > VMXNET3_CMD_RESERVED8,
> > VMXNET3_CMD_GET_MAX_QUEUES_CONF,
> > + VMXNET3_CMD_RESERVED11,
> > VMXNET3_CMD_GET_MAX_CAPABILITIES,
> > VMXNET3_CMD_GET_DCR0_REG,
> > } Vmxnet3_Cmd;
>
> Hi Ronak,
>
> Thank you for the patch.
>
> What is the fixed from user perspective, what is the impact.
>
> I can see two commands effected from missing enum, they are GET_DCR0_REG
> & GET_MAX_CAPABILITIES.
> Was user not able to read capabilities, or get random capabilities, from
> device up until now?
> If so what were these capabilities and how user impacted from missing them?
> Can you please detail the impact more in the commit log?
>
>
>
@@ -126,6 +126,7 @@ typedef enum {
VMXNET3_CMD_RESERVED7,
VMXNET3_CMD_RESERVED8,
VMXNET3_CMD_GET_MAX_QUEUES_CONF,
+ VMXNET3_CMD_RESERVED11,
VMXNET3_CMD_GET_MAX_CAPABILITIES,
VMXNET3_CMD_GET_DCR0_REG,
} Vmxnet3_Cmd;