public inbox for linux-kbuild@vger.kernel.org
 help / color / mirror / Atom feed
* Segmentation Fault with 'm' Dependencies
@ 2013-10-28  2:16 Martin Walch
  2013-11-05 23:06 ` Yann E. MORIN
  0 siblings, 1 reply; 5+ messages in thread
From: Martin Walch @ 2013-10-28  2:16 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Michal Marek, Yann E. MORIN, Dirk Gouders, Andrew Morton,
	Libo Chen

Hello,

this test case leads to a segmentation fault:

config A
	tristate "A" if m

config MODULES
	boolean "MODULES"
	option modules

As you can see, the MODULES symbol with the option modules is declared after
the first occurrence of an 'm' dependency. (Actually you can drop the MODULES
section or use a different symbol name. It does not matter.) Internally 'm' gets
converted into (symbol_mod && modules_sym), which adds a dependency on a
bad symbol, finally leading to dereferencing a null pointer.

If you move the declaration of the MODULES symbol to the top, everything
works fine.

The crash has been introduced last month with

> 6902dccfda005fa4c42410fa064fdd331ab42479
> kconfig: do not special-case 'MODULES' symbol

However, things were probably broken before. The problem has only
become visible.

The reason that configuring a Linux kernel does not crash the
configuration system is that there is currently no architecture that has a
symbol with a dependency on 'm' anywhere before the MODULES symbol.

Regards
Martin Walch
-- 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-11-19 21:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-28  2:16 Segmentation Fault with 'm' Dependencies Martin Walch
2013-11-05 23:06 ` Yann E. MORIN
2013-11-19 20:57   ` Dirk Gouders
2013-11-19 21:08     ` [PATCH] scripts/kconfig: handle cases with 'option modules' defined after reference Dirk Gouders
2013-11-19 21:39     ` Segmentation Fault with 'm' Dependencies Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox