Re: [RFC 0/6] Regressions for "imply" behavior change
From: Nicolas Pitre
Date: Wed Apr 08 2020 - 16:38:40 EST
On Wed, 8 Apr 2020, Arnd Bergmann wrote:
> Hi everyone,
>
> I've just restarted doing randconfig builds on top of mainline Linux and
> found a couple of regressions with missing dependency from the recent
> change in the "imply" keyword in Kconfig, presumably these two patches:
>
> 3a9dd3ecb207 kconfig: make 'imply' obey the direct dependency
> def2fbffe62c kconfig: allow symbols implied by y to become m
>
> I have created workarounds for the Kconfig files, which now stop using
> imply and do something else in each case. I don't know whether there was
> a bug in the kconfig changes that has led to allowing configurations that
> were not meant to be legal even with the new semantics, or if the Kconfig
> files have simply become incorrect now and the tool works as expected.
In most cases it is the code that has to be fixed. It typically does:
if (IS_ENABLED(CONFIG_FOO))
foo_init();
Where it should rather do:
if (IS_REACHABLE(CONFIG_FOO))
foo_init();
A couple of such patches have been produced and queued in their
respective trees already.
Nicolas