From: Ratheesh Kannoth <rkannoth@marvell.com>
To: David Ahern <dsahern@kernel.org>
Cc: <stephen@networkplumber.org>, <kuba@kernel.org>,
<linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>,
<andrew+netdev@lunn.ch>, <edumazet@google.com>,
<pabeni@redhat.com>, <jiri@resnulli.us>
Subject: Re: [PATCH iproute2-next v2 2/2] devlink: support u64-array values in devlink param show/set
Date: Thu, 2 Jul 2026 08:17:24 +0530 [thread overview]
Message-ID: <akXRPNxtdVAzoxLF@rkannoth-OptiPlex-7090> (raw)
In-Reply-To: <87f24e1e-4167-432b-b73c-0fc0c4b7d532@kernel.org>
On 2026-07-01 at 20:04:56, David Ahern (dsahern@kernel.org) wrote:
> On 6/30/26 8:29 PM, Ratheesh Kannoth wrote:
> > On 2026-06-30 at 20:06:17, David Ahern (dsahern@kernel.org) wrote:
> >> On 6/29/26 7:50 PM, Ratheesh Kannoth wrote:
> >>> diff --git a/devlink/devlink.c b/devlink/devlink.c
> >>> index 9372e92f..3c29601d 100644
> >>> --- a/devlink/devlink.c
> >>> +++ b/devlink/devlink.c
> >>> @@ -3496,13 +3496,115 @@ static const struct param_val_conv param_val_conv[] = {
> >>> };
> >>>
> >>> #define PARAM_VAL_CONV_LEN ARRAY_SIZE(param_val_conv)
> >>> +#define DEVLINK_PARAM_MAX_ARRAY_SIZE 32
> >>
> >> Why 32? Is that based on current code?
> > Yes, this aligns with the current kernel-side limits. See:
> > https://lore.kernel.org/all/20260609040453.711932-5-rkannoth@marvell.com/
> >
> >> How does the kernel side handle
> >> the number of parameters? What happens if the kernel sends more than 32
> >> parameters - from a user's perspective, not this code and processing the
> >> output?
> > The kernel strictly validates and restricts the number of parameters. To be safe, this patch
> > adds an explicit bounds check to prevent userspace issues if that threshold is ever crossed.
> >
> > Ideally, since "union devlink_param_value" is omitted from the UAPI, we have to define
> > DEVLINK_PARAM_MAX_ARRAY_SIZE here. Moving the underlying structures to the UAPI in the
> > future would allow us to share a single definition and avoid this hardcoded value in userspace.
>
> iproute2 needs to be backward and forward compatible. As it stands, a
> new kernel can allow more than 32 entries and an older iproute2 will not
> display all of them. That is wrong.
>
> Let's make the limit part of the uapi. If you do not want to do that
> now, then iproute2 code needs to handle a larger size.
ACK.
next prev parent reply other threads:[~2026-07-02 2:47 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-30 1:50 [PATCH iproute2-next v2 0/2] devlink: support u64-array devlink parameters Ratheesh Kannoth
2026-06-30 1:50 ` [PATCH iproute2-next v2 1/2] devlink: use DEVLINK_VAR_ATTR_TYPE_* in param show/set Ratheesh Kannoth
2026-06-30 1:50 ` [PATCH iproute2-next v2 2/2] devlink: support u64-array values in devlink " Ratheesh Kannoth
2026-06-30 14:36 ` David Ahern
2026-07-01 2:29 ` Ratheesh Kannoth
2026-07-01 14:34 ` David Ahern
2026-07-02 2:47 ` Ratheesh Kannoth [this message]
2026-07-01 2:57 ` Ratheesh Kannoth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=akXRPNxtdVAzoxLF@rkannoth-OptiPlex-7090 \
--to=rkannoth@marvell.com \
--cc=andrew+netdev@lunn.ch \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox