lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ