From: Philipp Rudo <prudo@redhat.com>
To: Baoquan He <bhe@redhat.com>
Cc: kexec@lists.infradead.org, ahalaney@redhat.com,
akpm@linux-foundation.org
Subject: Re: [PATCH] kernel/crash_core: suppress unknown crashkernel parameter warning
Date: Tue, 7 Dec 2021 14:28:43 +0100 [thread overview]
Message-ID: <20211207142843.0a27d71b@rhtmp> (raw)
In-Reply-To: <20211207033446.GC5604@MiWiFi-R3L-srv>
Hi Baoquan,
On Tue, 7 Dec 2021 11:34:46 +0800
Baoquan He <bhe@redhat.com> wrote:
> On 12/06/21 at 12:17pm, Philipp Rudo wrote:
> > When booting with crashkernel= on the kernel command line a warning
> > similar to
> >
> > [ 0.038294] Kernel command line: ro console=ttyS0 crashkernel=256M
> > [ 0.038353] Unknown kernel command line parameters "crashkernel=256M", will be passed to user space.
> >
> > is printed. This originates from crashkernel= being parsed independent from
> > the early_param() mechanism. So the code in init/main.c doesn't know
>
> Not only the early_param(), __setup() also takes the same mechanism.
> It's just handled in different stage. You might need to call it kernel
> param handling mechanism, not sure if it's accurate.
you are right, "kernel param handling" is better. I used early_param as
that's where we would need to hook into if we wanted to use the common
kernel param handling. But I don't think it is worth it.
@akpm: do you update the commit message before sending the patch to
Linus or shall I send a v2?
> > that crashkernel= is a valid kernel parameter and prints this incorrect
> > warning. Suppress the warning by adding a dummy early_param handler for
> > crashkernel=.
>
> The fix looks good to me, thanks.
>
> Acked-by: Baoquan He <bhe@redhat.com>
Thanks
> By the way, on which arch did you find this issue? Ask because I am
> wondering whether there's any other similiar independent kernel cmdline
> handling from __setup_param(). If have, is there a chance to take a
> common method to handle them, e.g a generic function or a place to
> identify them. Just wild thought, I have no idea yet. Otherwise, we may
> need several this kind of dummy handler for each one.
The issue was first reported on s390 but I used x86 to test the fix.
The only other reported parameter I encountered was BOOT_IMAGE= which
is not a kernel parameter and thus correct. But in the corresponding
bugzilla Andrew (on cc) said "Gah! I thought I had squashed all of
these interesting uses of the kernel command line, it is like playing whack-a-mole."
So I believe there were multiple other parameters that had the same problem.
Thanks
Philipp
> > Fixes: 86d1919a4fb0 ("init: print out unknown kernel parameters")
> > Signed-off-by: Philipp Rudo <prudo@redhat.com>
> > ---
> > kernel/crash_core.c | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
> > diff --git a/kernel/crash_core.c b/kernel/crash_core.c
> > index eb53f5ec62c9..256cf6db573c 100644
> > --- a/kernel/crash_core.c
> > +++ b/kernel/crash_core.c
> > @@ -6,6 +6,7 @@
> >
> > #include <linux/buildid.h>
> > #include <linux/crash_core.h>
> > +#include <linux/init.h>
> > #include <linux/utsname.h>
> > #include <linux/vmalloc.h>
> >
> > @@ -295,6 +296,16 @@ int __init parse_crashkernel_low(char *cmdline,
> > "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,
> > void *data, size_t data_len)
> > {
> > --
> > 2.31.1
> >
> >
> > _______________________________________________
> > kexec mailing list
> > kexec@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/kexec
> >
>
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
prev parent reply other threads:[~2021-12-07 13:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-06 11:17 [PATCH] kernel/crash_core: suppress unknown crashkernel parameter warning Philipp Rudo
2021-12-07 3:34 ` Baoquan He
2021-12-07 13:28 ` Philipp Rudo [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211207142843.0a27d71b@rhtmp \
--to=prudo@redhat.com \
--cc=ahalaney@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=bhe@redhat.com \
--cc=kexec@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox