Messages in this thread Patch in this message | | | From | Hans de Goede <> | Subject | [PATCH] x86/setup: Deal with "quiet" commandline option earlier | Date | Tue, 4 Sep 2018 16:42:25 +0200 |
| |
X86's setup_arch() calls parse_early_param() somewhat late, to make sure that everything is setup correcty to deal with earlyprintk over the EHCI debug port.
This means that a number of pr_info-s get done before "early_param("quiet", quiet_kernel)" from init/main.c gets processed.
Until commit 375899cddcbb ("printk: make sure to print log on console.") this was not a problem because the printk code would evaluate the console_loglevel vs the message-loglevel when flushing the buffer.
After this commit the check is done at the time that pr_info is actually called and the console_loglevel at calling time.
This causes the following messages to get printed with the "quiet" option:
[ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usable ... [ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000874ffffff] usable
This commit fixes this by making x86's setup_arch() explicitly check for quiet early on.
Cc: Petr Mladek <pmladek@suse.com> Cc: Maninder Singh <maninder1.s@samsung.com> Fixes: 375899cddcbb ("printk: make sure to print log on console.") Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- arch/x86/kernel/setup.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index b4866badb235..38f66b14cf3d 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -93,6 +93,7 @@ #include <asm/processor.h> #include <asm/bugs.h> #include <asm/kasan.h> +#include <asm/cmdline.h> #include <asm/vsyscall.h> #include <asm/cpu.h> @@ -864,6 +865,16 @@ void __init setup_arch(char **cmdline_p) boot_cpu_data.x86_phys_bits = MAX_PHYSMEM_BITS; #endif +#if !defined CONFIG_CMDLINE_BOOL || !defined CONFIG_CMDLINE_OVERRIDE + /* + * We call parse_early_param() somewhat late, see x86_configure_nx() + * comment. Deal with "quiet" here to suppress printing of early + * boot messages when quiet has been requested. + */ + if (cmdline_find_option_bool(boot_command_line, "quiet")) + console_loglevel = CONSOLE_LOGLEVEL_QUIET; +#endif + /* * If we have OLPC OFW, we might end up relocating the fixmap due to * reserve_top(), so do this before touching the ioremap area. -- 2.19.0.rc0
| |