linux-kernelorg-stable/scripts
Kees Cook 0902b3cb23 kconfig: Avoid prompting for transitional symbols
The "transitional" symbol keyword, while working with the "olddefconfig"
target, was prompting during "oldconfig". This occurred because these
symbols were not being marked as user-defined when they received values
from transitional symbols that had user values. The "olddefconfig" target
explicitly doesn't prompt for anything, so this deficiency wasn't noticed.

The issue manifested when a symbol's value came from a transitional
symbol's user value but the receiving symbol wasn't marked with
SYMBOL_DEF_USER. Thus the "oldconfig" logic would then prompt for these
symbols unnecessarily.

Check after value calculation whether a symbol without a user value
gets its value from a single transitional symbol that does have a user
value. In such cases, mark the receiving symbol as user-defined to
prevent prompting.

Update regression tests to verify that symbols with transitional defaults
are not prompted in "oldconfig", except when conditional defaults evaluate
to 'no' and should legitimately be prompted.

Build tested with "make testconfig".

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Closes: https://lore.kernel.org/lkml/CAHk-=wgZjUk4Cy2XgNkTrQoO8XCmNUHrTe5D519Fij1POK+3qw@mail.gmail.com/
Fixes: f9afce4f32 ("kconfig: Add transitional symbol attribute for migration support")
Cc: Vegard Nossum <vegard.nossum@oracle.com>
Link: https://lore.kernel.org/r/20250930154514.it.623-kees@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
2025-10-07 08:21:23 -07:00
..
atomic rust: Introduce atomic API helpers 2025-09-15 09:38:32 +02:00
bash-completion
basic
clang-tools
coccinelle Patch series in this pull request: 2025-10-02 18:44:54 -07:00
crypto lib/crypto: tests: Add KUnit tests for BLAKE2s 2025-08-29 09:50:19 -07:00
dtc scripts: dt_to_config: fix grammar and a typo in --help text 2025-09-26 15:53:30 -05:00
dummy-tools
gcc-plugins gcc-plugins: Remove TODO_verify_il for GCC >= 16 2025-09-23 13:59:39 -07:00
gdb hrtimer: Remove hrtimer_clock_base:: Get_time 2025-09-09 12:27:18 +02:00
gendwarfksyms
genksyms
include
ipe
kconfig kconfig: Avoid prompting for transitional symbols 2025-10-07 08:21:23 -07:00
ksymoops
lib docs: kdoc: a few more dump_typedef() tweaks 2025-09-18 10:19:54 -06:00
mod modpost: Initialize builtin_modname to stop SIGSEGVs 2025-09-28 07:54:07 -04:00
package
selinux docs: Remove remainders of reiserfs 2025-08-18 10:45:43 -06:00
tracing
.gitignore
Kbuild.include
Kconfig.include
Lindent
Makefile
Makefile.asm-headers
Makefile.autofdo
Makefile.btf
Makefile.build
Makefile.clang
Makefile.clean
Makefile.compiler
Makefile.debug
Makefile.defconf
Makefile.dtbinst
Makefile.dtbs
Makefile.extrawarn kbuild: enable -Werror for hostprogs 2025-08-18 10:02:57 -07:00
Makefile.gcc-plugins
Makefile.headersinst
Makefile.host
Makefile.kasan kasan: fix GCC mem-intrinsic prefix with sw tags 2025-08-27 22:45:43 -07:00
Makefile.kcov
Makefile.kcsan
Makefile.kmsan
Makefile.kstack_erase
Makefile.lib
Makefile.modfinal
Makefile.modinst
Makefile.modpost
Makefile.package
Makefile.propeller
Makefile.randstruct
Makefile.ubsan
Makefile.userprogs
Makefile.vdsoinst
Makefile.vmlinux kbuild: vmlinux.unstripped should always depend on .vmlinux.export.o 2025-09-24 09:10:45 -07:00
Makefile.vmlinux_o kbuild: extract modules.builtin.modinfo from vmlinux.unstripped 2025-09-24 09:10:44 -07:00
as-version.sh
asn1_compiler.c
bloat-o-meter
bootgraph.pl
bpf_doc.py
build-version
cc-can-link.sh
cc-version.sh
check-git
check-sysctl-docs
check-uapi.sh
check-variable-fonts.sh
check_extable.sh
checkdeclares.pl
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl checkpatch: suppress strscpy warnings for userspace tools 2025-09-28 11:36:13 -07:00
checkstack.pl
checksyscalls.sh
checktransupdate.py
checkversion.pl
cleanfile
cleanpatch
coccicheck
config
const_structs.checkpatch
decode_stacktrace.sh scripts/decode_stacktrace.sh: code: preserve alignment 2025-09-21 14:22:28 -07:00
decodecode
depmod.sh
dev-needs.sh
diffconfig
documentation-file-ref-check
extract-fwblobs
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux extract-vmlinux: Output used decompression method 2025-08-28 15:25:48 -07:00
extract_xc3028.pl
faddr2line
file-size.sh
find-unused-docs.sh
gen-crc-consts.py
gen-randstruct-seed.sh
gen_packed_field_checks.c
generate_builtin_ranges.awk
generate_initcall_order.pl
generate_rust_analyzer.py rust: add `pin-init` as a dependency to `bindings` and `uapi` 2025-09-08 13:42:39 +02:00
generate_rust_target.rs rust: support Rust >= 1.91.0 target spec 2025-08-31 23:34:34 +02:00
get_abi.py
get_dvb_firmware
get_feat.pl
get_maintainer.pl
gfp-translate
git-resolve.sh
git.orderFile
head-object-list.txt
headerdep.pl
headers_install.sh uapi: wrap compiler_types.h in an ifdef instead of the implicit strip 2025-08-28 13:06:48 +02:00
insert-sys-cert.c
install.sh
integer-wrap-ignore.scl
jobserver-exec
kallsyms.c
kernel-doc
kernel-doc.pl
kernel-doc.py
ld-version.sh
leaking_addresses.pl
link-vmlinux.sh kbuild: vmlinux.unstripped should always depend on .vmlinux.export.o 2025-09-24 09:10:45 -07:00
macro_checker.py
make_fit.py
makelst
markup_oops.pl
min-tool-version.sh kbuild: Bump minimum version of LLVM for building the kernel to 15.0.0 2025-08-28 16:58:43 -07:00
misc-check scripts/misc-check: update export checks for EXPORT_SYMBOL_FOR_MODULES() 2025-08-26 12:00:17 -07:00
mkcompile_h
mksysmap modpost: Create modalias for builtin modules 2025-09-24 09:10:45 -07:00
mkuboot.sh
module-common.c
module.lds.S
modules-check.sh
nsdeps
objdiff
objdump-func
orc_hash.sh
pahole-version.sh
parse-maintainers.pl
patch-kernel
profile2linkerlist.pl
prune-kernel
recordmcount.c
recordmcount.h
recordmcount.pl
relocs_check.sh
remove-stale-files
rust_is_available.sh
rust_is_available_bindgen_0_66.h
rust_is_available_bindgen_libclang.h
rust_is_available_bindgen_libclang_concat.h
rust_is_available_test.py
rustc-llvm-version.sh
rustc-version.sh
rustdoc_test_builder.rs
rustdoc_test_gen.rs rust: kunit: use `kernel::{fmt,prelude::fmt!}` 2025-09-16 09:26:59 +02:00
setlocalversion
show_delta
sign-file.c
sorttable.c
spdxcheck-test.sh
spdxcheck.py
spdxexclude
spelling.txt
sphinx-build-wrapper scripts: sphinx-build-wrapper: get rid of uapi/media Makefile 2025-08-29 15:54:43 -06:00
sphinx-pre-install scripts/sphinx-pre-install: fix Archlinux PDF dependencies 2025-08-21 14:08:53 -06:00
split-man.pl
ssl-common.h
stackdelta
stackusage
subarch.include
syscall.tbl
syscallhdr.sh
syscallnr.sh
syscalltbl.sh
tags.sh
test_doc_build.py
tools-support-relr.sh
unifdef.c
ver_linux
verify_builtin_ranges.awk
xen-hypercalls.sh
xz_wrap.sh