Skip to content

Commit c8fb7d7

Browse files
committed
kconfig: fix broken dependency in randconfig-generated .config
Running randconfig on arm64 using KCONFIG_SEED=0x40C5E904 (e.g. on v5.5) produces the .config with CONFIG_EFI=y and CONFIG_CPU_BIG_ENDIAN=y, which does not meet the !CONFIG_CPU_BIG_ENDIAN dependency. This is because the user choice for CONFIG_CPU_LITTLE_ENDIAN vs CONFIG_CPU_BIG_ENDIAN is set by randomize_choice_values() after the value of CONFIG_EFI is calculated. When this happens, the has_changed flag should be set. Currently, it takes the result from the last iteration. It should accumulate all the results of the loop. Fixes: 3b9a19e ("kconfig: loop as long as we changed some symbols in randconfig") Reported-by: Vincenzo Frascino <[email protected]> Signed-off-by: Masahiro Yamada <[email protected]>
1 parent 754beee commit c8fb7d7

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

scripts/kconfig/confdata.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1312,7 +1312,7 @@ bool conf_set_all_new_symbols(enum conf_def_mode mode)
13121312

13131313
sym_calc_value(csym);
13141314
if (mode == def_random)
1315-
has_changed = randomize_choice_values(csym);
1315+
has_changed |= randomize_choice_values(csym);
13161316
else {
13171317
set_all_choice_values(csym);
13181318
has_changed = true;

0 commit comments

Comments
 (0)