Commit ea22f431 authored by Sudheer Mogilappagari's avatar Sudheer Mogilappagari Committed by Jakub Kicinski

ethtool: add netlink attr in rss get reply only if value is not null

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: 7112a046 ("ethtool: add netlink based get rss support")
Signed-off-by: default avatarSudheer Mogilappagari <sudheer.mogilappagari@intel.com>
Reviewed-by: default avatarMichal Kubecek <mkubecek@suse.cz>
Link: https://lore.kernel.org/r/20230111235607.85509-1-sudheer.mogilappagari@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 01644a1f
...@@ -122,10 +122,13 @@ rss_fill_reply(struct sk_buff *skb, const struct ethnl_req_info *req_base, ...@@ -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); const struct rss_reply_data *data = RSS_REPDATA(reply_base);
if (nla_put_u32(skb, ETHTOOL_A_RSS_HFUNC, data->hfunc) || if ((data->hfunc &&
nla_put(skb, ETHTOOL_A_RSS_INDIR, nla_put_u32(skb, ETHTOOL_A_RSS_HFUNC, data->hfunc)) ||
sizeof(u32) * data->indir_size, data->indir_table) || (data->indir_size &&
nla_put(skb, ETHTOOL_A_RSS_HKEY, data->hkey_size, data->hkey)) 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 -EMSGSIZE;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment