Hello,

This patchset fixes a segfault that occurs if 'm' appears in certain
expressions before the modules symbol is defined. The problem is that m is
rewritten to m && <modules symbol> already during parsing. Doing it in
menu_finalize(), which runs after parsing, fixes the problem.

To aid the review and people trying to understand menu_finalize() in the future
(including me), it also renames menu_check_dep() to rewrite_m() and adds
comments to clarify the existing expression rewriting and dependency
propagation logic.

The changes have been tested for regressions using zconfdump(), Kconfiglib, and
Valgrind.

Cheers,
Ulf

Ulf Magnusson (3):
  kconfig: Rename menu_check_dep() to rewrite_m()
  kconfig: Clarify expression rewriting
  kconfig: Clean up modules handling and fix crash

 scripts/kconfig/menu.c | 74 ++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 66 insertions(+), 8 deletions(-)

-- 
2.7.4

Reply via email to