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]
Message-ID: <aba1d133-b10b-5931-bde1-1c24ea3cc536@gmail.com>
Date: Thu, 5 Oct 2023 19:32:37 +0100
From: Edward Cree <ecree.xilinx@...il.com>
To: Jakub Kicinski <kuba@...nel.org>, edward.cree@....com
Cc: linux-net-drivers@....com, davem@...emloft.net, edumazet@...gle.com,
 pabeni@...hat.com, netdev@...r.kernel.org, habetsm.xilinx@...il.com,
 sudheer.mogilappagari@...el.com, jdamato@...tly.com, andrew@...n.ch,
 mw@...ihalf.com, linux@...linux.org.uk, sgoutham@...vell.com,
 gakula@...vell.com, sbhatta@...vell.com, hkelam@...vell.com,
 saeedm@...dia.com, leon@...nel.org
Subject: Re: [PATCH v4 net-next 2/7] net: ethtool: attach an XArray of custom
 RSS contexts to a netdevice

On 05/10/2023 00:00, Jakub Kicinski wrote:
> On Wed, 27 Sep 2023 19:13:33 +0100 edward.cree@....com wrote:
>> +	struct ethtool_rxfh_context *ctx;
>> +	unsigned long context;
>> +
>> +	if (dev->ethtool_ops->set_rxfh_context)
> 
> Can there be contexts if there's no callback to create them?

I don't believe so.  But maybe making that load-bearing isn't great...

> Perhaps you need this for later patches but would be good to
> mention "why" in the commit message.

Well, the loop below tries to call ->set_rxfh_context, which wouldn't
 go too well if there's no callback.  But I guess the code makes more
 sense to read if this just guards the actual call and not the kfree.

-ed

>> +		xa_for_each(&dev->ethtool->rss_ctx, context, ctx) {
>> +			u32 *indir = ethtool_rxfh_context_indir(ctx);
>> +			u8 *key = ethtool_rxfh_context_key(ctx);
>> +			u32 concast = context;
>> +
>> +			xa_erase(&dev->ethtool->rss_ctx, context);
>> +			dev->ethtool_ops->set_rxfh_context(dev, indir, key,
>> +							   ctx->hfunc, &concast,
>> +							   true);
>> +			kfree(ctx);
>> +		}


Powered by blists - more mailing lists