[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250901115650.107e078e@kernel.org>
Date: Mon, 1 Sep 2025 11:56:50 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Asbjørn Sloth Tønnesen
<ast@...erby.net>
Cc: "David S. Miller" <davem@...emloft.net>, Eric Dumazet
<edumazet@...gle.com>, Paolo Abeni <pabeni@...hat.com>, Donald Hunter
<donald.hunter@...il.com>, Simon Horman <horms@...nel.org>, Jacob Keller
<jacob.e.keller@...el.com>, Stanislav Fomichev <sdf@...ichev.me>, "Matthieu
Baerts (NGI0)" <matttbe@...nel.org>, David Ahern <dsahern@...nel.org>,
Chuck Lever <chuck.lever@...cle.com>, wireguard@...ts.zx2c4.com,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net 3/4] tools: ynl-gen: fix nested array counting
On Mon, 1 Sep 2025 14:50:22 +0000 Asbjørn Sloth Tønnesen wrote:
> The blamed commit introduced the concept of split attribute
> counting, and later allocating an array to hold them, however
> TypeArrayNest wasn't updated to use the new counting variable.
>
> Abbreviated example from tools/net/ynl/generated/nl80211-user.c:
> nl80211_if_combination_attributes_parse(...):
> unsigned int n_limits = 0;
> [...]
> ynl_attr_for_each(attr, nlh, yarg->ys->family->hdr_len)
> if (type == NL80211_IFACE_COMB_LIMITS)
> ynl_attr_for_each_nested(attr2, attr)
> dst->_count.limits++;
> if (n_limits) {
> dst->_count.limits = n_limits;
> /* allocate and parse attributes */
> }
>
> In the above example n_limits is guaranteed to always be 0,
> hence the conditional is unsatisfiable and is optimized out.
>
> This patch changes the attribute counting to use n_limits++ in the
> attribute counting loop in the above example.
Looks good, thanks!
Reviewed-by: Jakub Kicinski <kuba@...nel.org>
Powered by blists - more mailing lists