linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Halaney <ahalaney@redhat.com>
To: Randy Dunlap <rdunlap@infradead.org>
Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
	Steven Rostedt <rostedt@goodmis.org>,
	Borislav Petkov <bp@suse.de>
Subject: Re: [PATCH v2] init: Print out unknown kernel parameters
Date: Thu, 13 May 2021 08:00:50 -0500	[thread overview]
Message-ID: <20210513130050.6czigy6cpz34ovz7@halaneylaptop> (raw)
In-Reply-To: <cbd3c07e-9dae-44b2-761e-653bd8d0e930@infradead.org>

On Wed, May 12, 2021 at 04:00:21PM -0700, Randy Dunlap wrote:
> On 5/11/21 2:10 PM, Andrew Halaney wrote:
> > It is easy to foobar setting a kernel parameter on the command line
> > without realizing it, there's not much output that you can use to
> > assess what the kernel did with that parameter by default.
> > 
> > Make it a little more explicit which parameters on the command line
> > _looked_ like a valid parameter for the kernel, but did not match
> > anything and ultimately got tossed to init. This is very similar to the
> > unknown parameter message received when loading a module.
> > 
> > This assumes the parameters are processed in a normal fashion, some
> > parameters (dyndbg= for example) don't register their
> > parameter with the rest of the kernel's parameters, and therefore
> > always show up in this list (and are also given to init - like the
> > rest of this list).
> > 
> > Another example is BOOT_IMAGE= is highlighted as an offender, which it
> > technically is, but is passed by LILO and GRUB so most systems will see
> > that complaint.
> > 
> > An example output where "foobared" and "unrecognized" are intentionally
> > invalid parameters:
> > 
> >   Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.12-dirty debug log_buf_len=4M foobared unrecognized=foo
> >   Unknown command line parameters: foobared BOOT_IMAGE=/boot/vmlinuz-5.12-dirty unrecognized=foo
> 
> Hi Andrew,
> What order is the list of unknown command line parameters listed in?

Hi Randy,

That's a good question considering that they are out of order in my
example output compared to the command line. The order is parameters
without an "=val", then those with an "=val", and within those groups
they should be ordered as they are on the command line.

This is because I'm using the processing work done by
unknown_bootoption(), which stores them in two separate lists to pass to
init later (for arguments and environment). I am "stealing" from those
here:

	for (p = &argv_init[1]; *p; p++)
		end += sprintf(end, " %s", *p);
	for (p = &envp_init[2]; *p; p++)
		end += sprintf(end, " %s", *p);

hence the differing output order from the command line. I didn't
see much value in trying to duplicate that processing logic to get them in
a single list in the order of the command line itself. I debated looking
at the command line and searching each of the offending lists for that
entry to get them in the order of the command line but decided to keep
it simple here since it was achieving what I wanted.

Thanks,
Andrew


  reply	other threads:[~2021-05-13 13:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-11 21:10 [PATCH v2] init: Print out unknown kernel parameters Andrew Halaney
2021-05-12 23:00 ` Randy Dunlap
2021-05-13 13:00   ` Andrew Halaney [this message]
2021-05-13 16:06     ` Randy Dunlap
2021-05-17  8:23 ` Borislav Petkov

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=20210513130050.6czigy6cpz34ovz7@halaneylaptop \
    --to=ahalaney@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=bp@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=rostedt@goodmis.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;
as well as URLs for NNTP newsgroup(s).