Re: [PATCH] kconfig: Warn on dead select or imply for choice values
Julian Braha <[email protected]>
| Newsgroups | org.kernel.vger.linux-kbuild,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi Nicolas, On 8/4/26 13:45, Nicolas Schier wrote: > Update the internal kconfig check to print a warning on 'select' and > 'imply' statements that target on choice values. > > Julian Braha reported that kconfig's 'select' and 'imply' do not work > for choice values but have no effect all. Show a warning instead of > error-out to allow kconfig to check the whole kconfig rule set. > > Reported-by: Julian Braha <[email protected]> > Closes: https://lore.kernel.org/linux-kbuild/[email protected]/ # [1] > Suggested-by: Kees Cook <[email protected]> > Suggested-by: Jani Nikula <[email protected]> > Signed-off-by: Nicolas Schier <[email protected]> Reviewed-by: Julian Braha <[email protected]> Tested-by: Julian Braha <[email protected]> > --- > Depends on related fixes in Kconfig files: > https://lore.kernel.org/r/[email protected] # change-requested > https://lore.kernel.org/r/[email protected] # under-review > https://lore.kernel.org/r/[email protected] # under-review > https://lore.kernel.org/r/[email protected] # applied to mips-next > https://lore.kernel.org/r/[email protected] # applied Note that there was actually a 6th of these broken select-choices that I had forgotten to list. Though my patch for that has also already been applied: https://lore.kernel.org/all/[email protected]/ > --- > scripts/kconfig/menu.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c > index b2d8d4e11e07..fc8d8cfe034d 100644 > --- a/scripts/kconfig/menu.c > +++ b/scripts/kconfig/menu.c > @@ -287,6 +287,10 @@ static void sym_check_prop(struct symbol *sym) > "'%s' has wrong type. '%s' only " > "accept arguments of bool and " > "tristate type", sym2->name, use); > + if (sym_is_choice_value(sym2)) > + prop_warn(prop, > + "config symbol '%s' uses %s for '%s', but '%s' is a choice value", > + sym->name, use, sym2->name, sym2->name); > break; > case P_RANGE: > if (sym->type != S_INT && sym->type != S_HEX) > > --- > base-commit: 6946cd5d0aa4dd10a414ddcb7a10844fdb0ad345 > change-id: 20260802-kconfig-warn-on-dead-select-for-choice-value-bd71a1de1a96 > prerequisite-message-id: <[email protected]> > prerequisite-patch-id: 3bb796da65f588d1df5003dac5af7a9d7420f266 > prerequisite-message-id: <[email protected]> > prerequisite-patch-id: 5277c28b2d25752fb7e5827ed744b0cf0c619574 > prerequisite-message-id: <[email protected]> > prerequisite-patch-id: bef2d24caba30e7dc2ac5189c10b6473485a1e3c > prerequisite-message-id: <[email protected]> > prerequisite-patch-id: da49e2868fbb19afc3195cbd2868739a94aa02c3 > prerequisite-message-id: <[email protected]> > prerequisite-patch-id: 3c894964a57e4e30515fcb14226dae725555c25e > > Best regards, > -- > Nicolas > - Julian Braha