[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230112080645.4hxuzj4ygzkkx7b7@lion.mk-sys.cz>
Date: Thu, 12 Jan 2023 09:06:45 +0100
From: Michal Kubecek <mkubecek@...e.cz>
To: Sudheer Mogilappagari <sudheer.mogilappagari@...el.com>
Cc: netdev@...r.kernel.org, kuba@...nel.org,
sridhar.samudrala@...el.com, anthony.l.nguyen@...el.com
Subject: Re: [PATCH net] ethtool:add netlink attr in rss get reply only if
value is not null
On Wed, Jan 11, 2023 at 03:56:07PM -0800, Sudheer Mogilappagari wrote:
> Current code for RSS_GET ethtool command includes netlink attributes
> in reply message to user space even if they are null. Added checks
> to include netlink attribute in reply message only if a value is
> received from driver. Drivers might return null for RSS indirection
> table or hash key. Instead of including attributes with empty value
> in the reply message, add netlink attribute only if there is content.
>
> Fixes: 7112a04664bf ("ethtool: add netlink based get rss support")
> Signed-off-by: Sudheer Mogilappagari <sudheer.mogilappagari@...el.com>
Reviewed-by: Michal Kubecek <mkubecek@...e.cz>
Note: the code was added in 6.2-rc1 merge window so that it is still
safe to change the output before 6.2 final without risk of "breaking the
userspace".
Michal
> ---
> net/ethtool/rss.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/net/ethtool/rss.c b/net/ethtool/rss.c
> index ebe6145aed3f..be260ab34e58 100644
> --- a/net/ethtool/rss.c
> +++ b/net/ethtool/rss.c
> @@ -122,10 +122,13 @@ rss_fill_reply(struct sk_buff *skb, const struct ethnl_req_info *req_base,
> {
> const struct rss_reply_data *data = RSS_REPDATA(reply_base);
>
> - if (nla_put_u32(skb, ETHTOOL_A_RSS_HFUNC, data->hfunc) ||
> - nla_put(skb, ETHTOOL_A_RSS_INDIR,
> - sizeof(u32) * data->indir_size, data->indir_table) ||
> - nla_put(skb, ETHTOOL_A_RSS_HKEY, data->hkey_size, data->hkey))
> + if ((data->hfunc &&
> + nla_put_u32(skb, ETHTOOL_A_RSS_HFUNC, data->hfunc)) ||
> + (data->indir_size &&
> + nla_put(skb, ETHTOOL_A_RSS_INDIR,
> + sizeof(u32) * data->indir_size, data->indir_table)) ||
> + (data->hkey_size &&
> + nla_put(skb, ETHTOOL_A_RSS_HKEY, data->hkey_size, data->hkey)))
> return -EMSGSIZE;
>
> return 0;
> --
> 2.31.1
>
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists