Commit 71d2bcec authored by Philipp Rudo's avatar Philipp Rudo Committed by Linus Torvalds

kernel/crash_core: suppress unknown crashkernel parameter warning

When booting with crashkernel= on the kernel command line a warning
similar to

    Kernel command line: ro console=ttyS0 crashkernel=256M
    Unknown kernel command line parameters "crashkernel=256M", will be passed to user space.

is printed.

This comes from crashkernel= being parsed independent from the kernel
parameter handling mechanism.  So the code in init/main.c doesn't know
that crashkernel= is a valid kernel parameter and prints this incorrect
warning.

Suppress the warning by adding a dummy early_param handler for
crashkernel=.

Link: https://lkml.kernel.org/r/20211208133443.6867-1-prudo@redhat.com
Fixes: 86d1919a ("init: print out unknown kernel parameters")
Signed-off-by: default avatarPhilipp Rudo <prudo@redhat.com>
Acked-by: default avatarBaoquan He <bhe@redhat.com>
Cc: Andrew Halaney <ahalaney@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 33863534
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include <linux/buildid.h> #include <linux/buildid.h>
#include <linux/crash_core.h> #include <linux/crash_core.h>
#include <linux/init.h>
#include <linux/utsname.h> #include <linux/utsname.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
...@@ -295,6 +296,16 @@ int __init parse_crashkernel_low(char *cmdline, ...@@ -295,6 +296,16 @@ int __init parse_crashkernel_low(char *cmdline,
"crashkernel=", suffix_tbl[SUFFIX_LOW]); "crashkernel=", suffix_tbl[SUFFIX_LOW]);
} }
/*
* Add a dummy early_param handler to mark crashkernel= as a known command line
* parameter and suppress incorrect warnings in init/main.c.
*/
static int __init parse_crashkernel_dummy(char *arg)
{
return 0;
}
early_param("crashkernel", parse_crashkernel_dummy);
Elf_Word *append_elf_note(Elf_Word *buf, char *name, unsigned int type, Elf_Word *append_elf_note(Elf_Word *buf, char *name, unsigned int type,
void *data, size_t data_len) void *data, size_t data_len)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment