init: allow CONFIG_INIT_FALLBACK=n to disable defaults if init= fails
authorAndy Lutomirski <[email protected]>
Wed, 10 Dec 2014 23:52:19 +0000 (15:52 -0800)
committerLinus Torvalds <[email protected]>
Thu, 11 Dec 2014 01:41:12 +0000 (17:41 -0800)
commit6ef4536e2f19c4dba3637413d73ea00b19764bc0
treee286e65b4ba1ce1089a7dc87cf642cfb6fdbbe6b
parent52f5592e549c013feb9bb71cab3e6fd624633577
init: allow CONFIG_INIT_FALLBACK=n to disable defaults if init= fails

If a user puts init=/whatever on the command line and /whatever can't be
run, then the kernel will try a few default options before giving up.  If
init=/whatever came from a bootloader prompt, then this is unexpected but
probably harmless.  On the other hand, if it comes from a script (e.g.  a
tool like virtme or perhaps a future kselftest script), then the fallbacks
are likely to exist, but they'll do the wrong thing.  For example, they
might unexpectedly invoke systemd.

This adds a config option CONFIG_INIT_FALLBACK.  If unset, then a failure
to run the specified init= process be fatal.

The tentative plan is to remove CONFIG_INIT_FALLBACK for 3.20.

[[email protected]: coding-style fixes]
Signed-off-by: Andy Lutomirski <[email protected]>
Cc: Rob Landley <[email protected]>
Cc: Chuck Ebbert <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: Shuah Khan <[email protected]>
Cc: Frank Rowand <[email protected]>
Cc: Josh Triplett <[email protected]>
Acked-by: Rusty Russell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
init/Kconfig
init/main.c