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