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: <e5ebcbac-f445-4a48-a40f-7aa606c7d460@app.fastmail.com>
Date: Thu, 04 Apr 2024 00:19:41 +0200
From: "Arnd Bergmann" <arnd@...db.de>
To: "Andy Shevchenko" <andy.shevchenko@...il.com>,
 Uwe Kleine-König <u.kleine-koenig@...gutronix.de>
Cc: "Mark Brown" <broonie@...nel.org>, "Arnd Bergmann" <arnd@...nel.org>,
 linux-kernel@...r.kernel.org,
 "Neil Armstrong" <neil.armstrong@...aro.org>,
 "Kevin Hilman" <khilman@...libre.com>,
 Heiko Stübner <heiko@...ech.de>,
 "Andi Shyti" <andi.shyti@...nel.org>,
 "Krzysztof Kozlowski" <krzysztof.kozlowski@...aro.org>,
 "Jerome Brunet" <jbrunet@...libre.com>,
 "Martin Blumenstingl" <martin.blumenstingl@...glemail.com>,
 "Alim Akhtar" <alim.akhtar@...sung.com>,
 "Li Zetao" <lizetao1@...wei.com>,
 "Jonathan Cameron" <Jonathan.Cameron@...wei.com>,
 "Rob Herring" <robh@...nel.org>,
 "Yang Yingliang" <yangyingliang@...wei.com>,
 "Andy Shevchenko" <andriy.shevchenko@...ux.intel.com>,
 "Luis de Arquer" <luis.dearquer@...rtim.com>,
 "Tudor Ambarus" <tudor.ambarus@...aro.org>,
 "Sam Protsenko" <semen.protsenko@...aro.org>,
 "Peter Griffin" <peter.griffin@...aro.org>,
 "Jaewon Kim" <jaewon02.kim@...sung.com>, linux-spi@...r.kernel.org,
 linux-arm-kernel@...ts.infradead.org, linux-amlogic@...ts.infradead.org,
 linux-rockchip@...ts.infradead.org, linux-samsung-soc@...r.kernel.org
Subject: Re: [PATCH 31/34] spi: remove incorrect of_match_ptr annotations

On Wed, Apr 3, 2024, at 23:13, Andy Shevchenko wrote:
> Wed, Apr 03, 2024 at 11:05:51PM +0200, Uwe Kleine-König kirjoitti:
>> On Wed, Apr 03, 2024 at 10:56:58AM +0100, Mark Brown wrote:
>> > On Wed, Apr 03, 2024 at 10:06:49AM +0200, Arnd Bergmann wrote:
>> > 
>> > > These appear to all be copied from the same original driver, so fix them at the
>> > > same time by removing the unnecessary of_match_ptr() annotation. As far as I
>> > > can tell, all these drivers are only actually used on configurations that
>> > > have CONFIG_OF enabled.
>> > 
>> > Why are we not fixing of_match_ptr() here, or at least adding the ifdefs
>> > in case someone does end up wanting to run without OF?
>> 
>> Fixing of_match_ptr =
>> 
>> diff --git a/include/linux/of.h b/include/linux/of.h
>> index a0bedd038a05..d980bccffda0 100644
>> --- a/include/linux/of.h
>> +++ b/include/linux/of.h
>> @@ -890,7 +890,7 @@ static inline const void *of_device_get_match_data(const struct device *dev)
>>  	return NULL;
>>  }
>>  
>> -#define of_match_ptr(_ptr)	NULL
>> +#define of_match_ptr(_ptr)	(0 ? (_ptr) : NULL)

This would require removing several hundred "#ifdef CONFIG_OF"
checks around the of_device_id tables at the same time
unfortunately. Most of those are completely unnecessary, so
if we wanted to remove those, we should remove the of_match_ptr()
instances at the same time.

>>  #define of_match_node(_matches, _node)	NULL
>>  #endif /* CONFIG_OF */
>>  
>> ?
>> 
>> Assuming this helps, I agree this would be the better fix.
>
> Why? I mean why do we need to even have this API? It's always
> good to know which devices are supported by the module even
> if you have no need in such support or it's not compiled in.
> One of the reasons why is to be able to google for compatible hardware,
> for example.

As far as I can tell, the of_match_ptr() helper was a historic
mistake, it makes pretty much no sense in its current form.

The version that Uwe proposes would have made sense but we
can't change it now.

      Arnd

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ