Skip to content

Commit

Permalink
fix allmodconfig breakage
Browse files Browse the repository at this point in the history
If you use KCONFIG_ALLCONFIG (even with empty file) you get broken
allmodconfig/allyesconfig; CONFIG_MODULES gets turned off, with obvious
massive fallout.

Breakage had been introduced when conf_set_all_new_symbols() got used
for allmodconfig et.al.

What happens is that sym_calc_value(modules_sym) done in
conf_read_simple() sets SYMBOL_VALID on both modules_sym and MODULES.
When we get to conf_set_all_new_symbols(), we set sym->def[S_DEF_USER]
on everything, but it has no effect on sym->curr for the symbols that
already have SYMBOL_VALID - these are stuck.

Solution: use sym_clear_all_valid() in there.  Note that it makes
reevaluation of modules_sym redundant - sym_clear_all_valid() will do
that itself.

[ Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11512, says Alexey ]

Signed-off-by: Al Viro <[email protected]>
Cc: Sam Ravnborg <[email protected]>
Cc: Roman Zippel <[email protected]>
Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Al Viro authored and torvalds committed Oct 26, 2008
1 parent 23cf24c commit ce97e13
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions scripts/kconfig/confdata.c
Original file line number Diff line number Diff line change
Expand Up @@ -852,8 +852,7 @@ void conf_set_all_new_symbols(enum conf_def_mode mode)

}

if (modules_sym)
sym_calc_value(modules_sym);
sym_clear_all_valid();

if (mode != def_random)
return;
Expand Down

0 comments on commit ce97e13

Please sign in to comment.