linux/scripts/kconfig
Julian Braha 35e4b60792 kconfig: fix submenu rendering of negative dependencies
The Kconfig frontend should render options that depend on a
previous option in the submenu of that previous option. But
currently, this breaks for negative dependencies. For example,
option FOO may be rendered in the submenu of option BAR, despite
FOO actually depending on !BAR.

Let's fix this ironic rendering by modifying Kconfig to explicitly
check negative dependencies.

I've only tested locally on x86, but as far as I can tell, this only
changes how 2 options are rendered in the menu:
1. NTFS3_FS, no longer in the NTFS_FS submenu, and
2. MTD_BLOCK_RO, no longer in the MTD_BLOCK submenu.

Tested-by: Nathan Chancellor <nathan@kernel.org>
Reported-by: Xi Ruoyao <xry111@xry111.site>
Closes: https://lore.kernel.org/all/cbe95c15d2760f6fce8eaf207c969ce8fd3703aa.camel@xry111.site/
Assisted-by: Claude:claude-4.8-opus
Signed-off-by: Julian Braha <julianbraha@gmail.com>
Link: https://patch.msgid.link/20260801145238.2140291-1-julianbraha@gmail.com
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Tested-by: Nicolas Schier <nsc@kernel.org>
Signed-off-by: Nicolas Schier <nsc@kernel.org>
2026-08-14 21:33:20 +02:00
..
icons
lxdialog
tests Second round of Kbuild changes for 7.2 2026-06-25 09:06:12 -07:00
.gitignore
conf.c kconfig: abort rather than loop for ever on EOF 2026-08-05 14:46:48 +02:00
confdata.c kconfig: add optional warnings for changed input values 2026-06-18 11:46:32 -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
gconf.c
gconf.ui
internal.h
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
lkc.h kconfig: Error out on duplicated kconfig inclusion 2026-02-27 09:26:58 +01:00
Makefile
mconf-cfg.sh
mconf.c
menu.c kconfig: fix submenu rendering of negative dependencies 2026-08-14 21:33:20 +02: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
mnconf-common.h
nconf-cfg.sh
nconf.c
nconf.gui.c
nconf.h
parser.y kconfig: forbid multiple entries with the same symbol in a choice 2026-04-05 09:21:33 +02:00
preprocess.c
preprocess.h
qconf-cfg.sh
qconf.cc
qconf.h
streamline_config.pl streamline_config.pl: remove superfluous exclamation mark 2026-02-02 21:54:20 -07:00
symbol.c
util.c kconfig: Error out on duplicated kconfig inclusion 2026-02-27 09:26:58 +01:00