mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] vDPA: fix incorrect VDPA_ATTR_MAX value
@ 2024-04-15 16:37 kovalev
  2024-04-16  7:18 ` Jason Wang
  0 siblings, 1 reply; 3+ messages in thread
From: kovalev @ 2024-04-15 16:37 UTC (permalink / raw)
  To: mst, jasowang, parav, edumazet, elic, linux-kernel; +Cc: kovalev

From: Vasiliy Kovalev <kovalev@altlinux.org>

The VDPA_ATTR_MAX value should correspond to the index of the last
available member of the structure, not their total number.

Otherwise, it can lead to interpretation errors in other functions
when the structure (.maxattr = VDPA_ATTR_MAX) member is actually
incremented by one and refers to invalid data.

Fixes: 33b347503f01 ("vdpa: Define vdpa mgmt device, ops and a netlink interface")
Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
---
 include/uapi/linux/vdpa.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/uapi/linux/vdpa.h b/include/uapi/linux/vdpa.h
index 43c51698195ceb..ab132a09565232 100644
--- a/include/uapi/linux/vdpa.h
+++ b/include/uapi/linux/vdpa.h
@@ -74,7 +74,8 @@ enum vdpa_attr {
 	VDPA_ATTR_DEV_BLK_CFG_FLUSH,		/* u8 */
 
 	/* new attributes must be added above here */
-	VDPA_ATTR_MAX,
+	__VDPA_ATTR_MAX,
+	VDPA_ATTR_MAX	= __VDPA_ATTR_MAX - 1,
 };
 
 #endif
-- 
2.33.8


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] vDPA: fix incorrect VDPA_ATTR_MAX value
  2024-04-15 16:37 [PATCH] vDPA: fix incorrect VDPA_ATTR_MAX value kovalev
@ 2024-04-16  7:18 ` Jason Wang
  2024-04-16  7:22   ` Jason Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Jason Wang @ 2024-04-16  7:18 UTC (permalink / raw)
  To: kovalev; +Cc: mst, parav, edumazet, elic, linux-kernel

On Tue, Apr 16, 2024 at 12:39 AM <kovalev@altlinux.org> wrote:
>
> From: Vasiliy Kovalev <kovalev@altlinux.org>
>
> The VDPA_ATTR_MAX value should correspond to the index of the last
> available member of the structure, not their total number.

I think it's too late to change. More below.

>
> Otherwise, it can lead to interpretation errors in other functions
> when the structure (.maxattr = VDPA_ATTR_MAX) member is actually
> incremented by one and refers to invalid data.
>
> Fixes: 33b347503f01 ("vdpa: Define vdpa mgmt device, ops and a netlink interface")
> Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
> ---
>  include/uapi/linux/vdpa.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/include/uapi/linux/vdpa.h b/include/uapi/linux/vdpa.h
> index 43c51698195ceb..ab132a09565232 100644
> --- a/include/uapi/linux/vdpa.h
> +++ b/include/uapi/linux/vdpa.h
> @@ -74,7 +74,8 @@ enum vdpa_attr {
>         VDPA_ATTR_DEV_BLK_CFG_FLUSH,            /* u8 */
>
>         /* new attributes must be added above here */
> -       VDPA_ATTR_MAX,
> +       __VDPA_ATTR_MAX,
> +       VDPA_ATTR_MAX   = __VDPA_ATTR_MAX - 1,

Having a MAX in uapi is problematic as it may confuse the userspace. I
think the correct way is to drop it from uAPI.

Thanks

>  };
>
>  #endif
> --
> 2.33.8
>
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] vDPA: fix incorrect VDPA_ATTR_MAX value
  2024-04-16  7:18 ` Jason Wang
@ 2024-04-16  7:22   ` Jason Wang
  0 siblings, 0 replies; 3+ messages in thread
From: Jason Wang @ 2024-04-16  7:22 UTC (permalink / raw)
  To: kovalev; +Cc: mst, parav, edumazet, elic, linux-kernel

On Tue, Apr 16, 2024 at 3:18 PM Jason Wang <jasowang@redhat.com> wrote:
>
> On Tue, Apr 16, 2024 at 12:39 AM <kovalev@altlinux.org> wrote:
> >
> > From: Vasiliy Kovalev <kovalev@altlinux.org>
> >
> > The VDPA_ATTR_MAX value should correspond to the index of the last
> > available member of the structure, not their total number.
>
> I think it's too late to change. More below.
>
> >
> > Otherwise, it can lead to interpretation errors in other functions
> > when the structure (.maxattr = VDPA_ATTR_MAX) member is actually
> > incremented by one and refers to invalid data.
> >
> > Fixes: 33b347503f01 ("vdpa: Define vdpa mgmt device, ops and a netlink interface")
> > Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
> > ---
> >  include/uapi/linux/vdpa.h | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/uapi/linux/vdpa.h b/include/uapi/linux/vdpa.h
> > index 43c51698195ceb..ab132a09565232 100644
> > --- a/include/uapi/linux/vdpa.h
> > +++ b/include/uapi/linux/vdpa.h
> > @@ -74,7 +74,8 @@ enum vdpa_attr {
> >         VDPA_ATTR_DEV_BLK_CFG_FLUSH,            /* u8 */
> >
> >         /* new attributes must be added above here */
> > -       VDPA_ATTR_MAX,
> > +       __VDPA_ATTR_MAX,
> > +       VDPA_ATTR_MAX   = __VDPA_ATTR_MAX - 1,
>
> Having a MAX in uapi is problematic as it may confuse the userspace. I
> think the correct way is to drop it from uAPI.

Too late to drop as well probably ...

Thanks

>
> Thanks
>
> >  };
> >
> >  #endif
> > --
> > 2.33.8
> >
> >


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-04-16  7:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-15 16:37 [PATCH] vDPA: fix incorrect VDPA_ATTR_MAX value kovalev
2024-04-16  7:18 ` Jason Wang
2024-04-16  7:22   ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®