Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1301863
| From | Borislav Petkov <bp@suse.de> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 1/5] x86: fix early command-line parsing when matching at end |
| Date | 2016-01-05 19:40 +0100 |
| Message-ID | <qNEGv-6GR-33@gated-at.bofh.it> (permalink) |
| References | <qIE4p-1tI-3@gated-at.bofh.it> <qIE4q-1tI-15@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, Dec 22, 2015 at 02:52:38PM -0800, Dave Hansen wrote:
>
> From: Dave Hansen <dave.hansen@linux.intel.com>
>
> The x86 early command line parsing in cmdline_find_option_bool()
> is buggy. If it matches a specified 'option' all the way to
> the end of the command-line, it will consider it a match.
>
> For instance,
>
> cmdline = "foo";
> cmdline_find_option_bool(cmdline, "fool");
>
> will return 1. This is particularly annoying since we have
> actual FPU options like "noxsave" and "noxsaves" So,
> command-line "foo bar noxsave" will match *BOTH* a "noxsave" and
> "noxsaves". (This turns out not to be an actual problem because
> "noxsave" implies "noxsaves", but it's still confusing.)
So I booted a guest with this command line:
[ 0.000000] Kernel command line: root=/dev/sda1 resume=/dev/sdb1 debug ignore_loglevel log_buf_len=16M earlyprintk=ttyS0,115200 console=ttyS0,115200 console=tty0 noxsave
after applying the debug hunk below. However, the only debug output I
got is this:
[ 0.000000] x86_noxsave_setup
If I supply "noxsaves", I get, as expected
[ 0.000000] x86_noxsaves_setup
only. Ditto for "noxsaveopt".
So what am I missing?
---
diff --git a/arch/x86/kernel/fpu/init.c b/arch/x86/kernel/fpu/init.c
index 1a6adcb4fbce..472f6edfb8d9 100644
--- a/arch/x86/kernel/fpu/init.c
+++ b/arch/x86/kernel/fpu/init.c
@@ -354,6 +354,8 @@ static int __init x86_noxsave_setup(char *s)
if (strlen(s))
return 0;
+ pr_info("%s\n", __func__);
+
fpu__xstate_clear_all_cpu_caps();
return 1;
@@ -367,6 +369,8 @@ static int __init x86_noxsaveopt_setup(char *s)
{
setup_clear_cpu_cap(X86_FEATURE_XSAVEOPT);
+ pr_info("%s\n", __func__);
+
return 1;
}
__setup("noxsaveopt", x86_noxsaveopt_setup);
@@ -378,6 +382,8 @@ static int __init x86_noxsaves_setup(char *s)
{
setup_clear_cpu_cap(X86_FEATURE_XSAVES);
+ pr_info("%s\n", __func__);
+
return 1;
}
__setup("noxsaves", x86_noxsaves_setup);
--
Regards/Gruss,
Boris.
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
Re: [PATCH 1/5] x86: fix early command-line parsing when matching at end Borislav Petkov <bp@suse.de> - 2016-01-05 19:40 +0100 Re: [PATCH 1/5] x86: fix early command-line parsing when matching at end Dave Hansen <dave@sr71.net> - 2016-01-05 20:00 +0100
csiph-web