[PATCH v2 1/8] bootconfig: Set CONFIG_BOOT_CONFIG=n by default

From: Masami Hiramatsu
Date: Thu Feb 20 2020 - 07:18:39 EST


Set CONFIG_BOOT_CONFIG=n by default. This also warns
user if CONFIG_BOOT_CONFIG=n but "bootconfig" is given
in the kernel command line.

Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
---
V2: Use pr_warn() for warning message.
Remove unneeded "default n" line from Kconfig.
---
init/Kconfig | 1 -
init/main.c | 8 ++++++++
kernel/trace/Kconfig | 3 ++-
3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/init/Kconfig b/init/Kconfig
index 452bc1835cd4..e76e9241552c 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1227,7 +1227,6 @@ endif
config BOOT_CONFIG
bool "Boot config support"
depends on BLK_DEV_INITRD
- default y
help
Extra boot config allows system admin to pass a config file as
complemental extension of kernel cmdline when booting.
diff --git a/init/main.c b/init/main.c
index f95b014a5479..ae4e37681247 100644
--- a/init/main.c
+++ b/init/main.c
@@ -418,6 +418,14 @@ static void __init setup_boot_config(const char *cmdline)
}
#else
#define setup_boot_config(cmdline) do { } while (0)
+
+static int __init warn_bootconfig(char *str)
+{
+ pr_warn("WARNING: 'bootconfig' found on the kernel command line but CONFIG_BOOTCONFIG is not set.\n");
+ return 0;
+}
+early_param("bootconfig", warn_bootconfig);
+
#endif

/* Change NUL term back to "=", to make "param" the whole string. */
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 91e885194dbc..795c3e02d3f1 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -143,7 +143,8 @@ if FTRACE

config BOOTTIME_TRACING
bool "Boot-time Tracing support"
- depends on BOOT_CONFIG && TRACING
+ depends on TRACING
+ select BOOT_CONFIG
default y
help
Enable developer to setup ftrace subsystem via supplemental