linux/scripts/kconfig
Nicolas Schier 47ef078cf9
kconfig: Warn on dead select or imply for choice values
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 <julianbraha@gmail.com>
Closes: https://lore.kernel.org/linux-kbuild/20260715220149.48700-1-julianbraha@gmail.com/ # [1]
Suggested-by: Kees Cook <kees@kernel.org>
Suggested-by: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Nicolas Schier <nsc@kernel.org>
Reviewed-by: Julian Braha <julianbraha@gmail.com>
Tested-by: Julian Braha <julianbraha@gmail.com>
Link: https://patch.msgid.link/20260804-kconfig-warn-on-dead-select-for-choice-value-v1-1-e5c9a274d291@kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
2026-09-17 16:38:18 -07:00
..
icons kconfig: move XPM icons to separate files 2025-12-19 13:34:33 -07:00
lxdialog kconfig: lxdialog: replace strcpy() with strncpy() in inputbox.c 2025-08-06 10:23:36 +09:00
tests kconfig: use unsigned integers for hex range checks 2026-09-17 16:31:01 -07:00
.gitignore kconfig: Update all declared targets 2023-01-13 16:29:52 +09:00
conf.c kconfig: abort rather than loop for ever on EOF 2026-08-05 14:46:48 +02:00
confdata.c kconfig: prevent out-of-bounds user input for numeric options 2026-09-17 16:31:00 -07:00
expr.c kconfig: fix submenu rendering of negative dependencies 2026-08-14 21:33:20 +02:00
expr.h kconfig: fix submenu rendering of negative dependencies 2026-08-14 21:33:20 +02:00
gconf-cfg.sh kconfig: gconf: migrate to GTK 3 2025-07-26 15:31:29 +09:00
gconf.c kconfig: move XPM icons to separate files 2025-12-19 13:34:33 -07:00
gconf.ui kconfig: gconf: replace GtkImageMenuItem with GtkMenuItem 2025-07-26 19:55:37 +09:00
internal.h kconfig: cache expression values 2024-09-20 09:21:53 +09:00
kconfig-sym-check.pl kconfig: add kconfig-sym-check static checker 2026-06-03 19:20:04 -07:00
lexer.l kconfig: Error out on duplicated kconfig inclusion 2026-02-27 09:26:58 +01:00
lkc_proto.h kconfig: prevent out-of-bounds user input for numeric options 2026-09-17 16:31:00 -07:00
lkc.h kconfig: promote invalid numeric reference from warning to error 2026-09-17 16:31:00 -07:00
Makefile kconfig: move XPM icons to separate files 2025-12-19 13:34:33 -07:00
mconf-cfg.sh kconfig: add -e and -u options to *conf-cfg.sh scripts 2024-07-16 01:08:36 +09:00
mconf.c kconfig/mconf: Initialize the default locale at startup 2025-11-01 00:21:23 -04:00
menu.c kconfig: Warn on dead select or imply for choice values 2026-09-17 16:38:18 -07:00
merge_config.sh scripts: kconfig: merge_config.sh: keep temp file in the output dir 2026-07-13 14:17:23 +02:00
mnconf-common.c kbuild: move some helper headers from scripts/kconfig/ to scripts/include/ 2024-07-21 23:10:43 +09:00
mnconf-common.h kbuild: move some helper headers from scripts/kconfig/ to scripts/include/ 2024-07-21 23:10:43 +09:00
nconf-cfg.sh kconfig: fix static linking of nconf 2026-01-14 14:23:20 +01:00
nconf.c kconfig/nconf: Initialize the default locale at startup 2025-11-01 00:23:22 -04:00
nconf.gui.c kconfig: nconf: Format and print 'line' without a temporary copy 2025-08-18 10:46:19 -07:00
nconf.h kconfig: nconf: Add search jump feature 2023-08-13 21:29:41 +09:00
parser.y kconfig: promote invalid numeric reference from warning to error 2026-09-17 16:31:00 -07:00
preprocess.c kbuild: split x*alloc() functions in kconfig to scripts/include/xalloc.h 2024-09-01 20:34:48 +09:00
preprocess.h kconfig: split preprocessor prototypes into preprocess.h 2024-02-19 18:20:40 +09:00
qconf-cfg.sh kconfig: add -e and -u options to *conf-cfg.sh scripts 2024-07-16 01:08:36 +09:00
qconf.cc kconfig: move XPM icons to separate files 2025-12-19 13:34:33 -07:00
qconf.h kconfig: qconf: confine {begin,end}Group to constructor and destructor 2025-07-26 15:31:30 +09:00
streamline_config.pl streamline_config.pl: remove superfluous exclamation mark 2026-02-02 21:54:20 -07:00
symbol.c kconfig: use unsigned integers for hex range checks 2026-09-17 16:31:01 -07:00
util.c kconfig: Error out on duplicated kconfig inclusion 2026-02-27 09:26:58 +01:00