LKML Archive on lore.kernel.org
 help / Atom feed
* [PATCH] x86/spectre: fix an error message
@ 2018-02-14  7:14 Dan Carpenter
  2018-02-14  7:21 ` Joe Perches
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Dan Carpenter @ 2018-02-14  7:14 UTC (permalink / raw)
  To: Ingo Molnar, KarimAllah Ahmed
  Cc: H. Peter Anvin, x86, Thomas Gleixner, David Woodhouse,
	Borislav Petkov, Greg Kroah-Hartman, Andy Lutomirski,
	linux-kernel, kernel-janitors

If i == ARRAY_SIZE(mitigation_options) then we accidentally print
garbage from one space beyond the end of the mitigation_options[] array.

Fixes: 9005c6834c0f ("x86/spectre: Simplify spectre_v2 command line parsing")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index debcdda88560..acee4ebec04f 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -174,7 +174,7 @@ static enum spectre_v2_mitigation_cmd __init spectre_v2_parse_cmdline(void)
 		}
 
 		if (i >= ARRAY_SIZE(mitigation_options)) {
-			pr_err("unknown option (%s). Switching to AUTO select\n", mitigation_options[i].option);
+			pr_err("unknown option (%s). Switching to AUTO select\n", arg);
 			return SPECTRE_V2_CMD_AUTO;
 		}
 	}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] x86/spectre: fix an error message
  2018-02-14  7:14 [PATCH] x86/spectre: fix an error message Dan Carpenter
@ 2018-02-14  7:21 ` Joe Perches
  2018-02-14  8:36 ` [tip:x86/pti] x86/spectre: Fix " tip-bot for Dan Carpenter
  2018-02-15  0:30 ` tip-bot for Dan Carpenter
  2 siblings, 0 replies; 4+ messages in thread
From: Joe Perches @ 2018-02-14  7:21 UTC (permalink / raw)
  To: Dan Carpenter, Ingo Molnar, KarimAllah Ahmed
  Cc: H. Peter Anvin, x86, Thomas Gleixner, David Woodhouse,
	Borislav Petkov, Greg Kroah-Hartman, Andy Lutomirski,
	linux-kernel, kernel-janitors

On Wed, 2018-02-14 at 10:14 +0300, Dan Carpenter wrote:
> If i == ARRAY_SIZE(mitigation_options) then we accidentally print
> garbage from one space beyond the end of the mitigation_options[] array.
> 
> Fixes: 9005c6834c0f ("x86/spectre: Simplify spectre_v2 command line parsing")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
> index debcdda88560..acee4ebec04f 100644
> --- a/arch/x86/kernel/cpu/bugs.c
> +++ b/arch/x86/kernel/cpu/bugs.c
> @@ -174,7 +174,7 @@ static enum spectre_v2_mitigation_cmd __init spectre_v2_parse_cmdline(void)
>  		}
>  
>  		if (i >= ARRAY_SIZE(mitigation_options)) {
> -			pr_err("unknown option (%s). Switching to AUTO select\n", mitigation_options[i].option);
> +			pr_err("unknown option (%s). Switching to AUTO select\n", arg);
>  			return SPECTRE_V2_CMD_AUTO;
>  		}
>  	}

Should probably unindent this block too by
removing the else after the return

---
 arch/x86/kernel/cpu/bugs.c | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 4acf16a76d1e..0af8245afb6c 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -161,22 +161,21 @@ static enum spectre_v2_mitigation_cmd __init spectre_v2_parse_cmdline(void)
 
 	if (cmdline_find_option_bool(boot_command_line, "nospectre_v2"))
 		return SPECTRE_V2_CMD_NONE;
-	else {
-		ret = cmdline_find_option(boot_command_line, "spectre_v2", arg, sizeof(arg));
-		if (ret < 0)
-			return SPECTRE_V2_CMD_AUTO;
-
-		for (i = 0; i < ARRAY_SIZE(mitigation_options); i++) {
-			if (!match_option(arg, ret, mitigation_options[i].option))
-				continue;
-			cmd = mitigation_options[i].cmd;
-			break;
-		}
 
-		if (i >= ARRAY_SIZE(mitigation_options)) {
-			pr_err("unknown option (%s). Switching to AUTO select\n", mitigation_options[i].option);
-			return SPECTRE_V2_CMD_AUTO;
-		}
+	ret = cmdline_find_option(boot_command_line, "spectre_v2", arg, sizeof(arg));
+	if (ret < 0)
+		return SPECTRE_V2_CMD_AUTO;
+
+	for (i = 0; i < ARRAY_SIZE(mitigation_options); i++) {
+		if (!match_option(arg, ret, mitigation_options[i].option))
+			continue;
+		cmd = mitigation_options[i].cmd;
+		break;
+	}
+
+	if (i >= ARRAY_SIZE(mitigation_options)) {
+		pr_err("unknown option (%s). Switching to AUTO select\n", arg);
+		return SPECTRE_V2_CMD_AUTO;
 	}
 
 	if ((cmd == SPECTRE_V2_CMD_RETPOLINE ||

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:x86/pti] x86/spectre: Fix an error message
  2018-02-14  7:14 [PATCH] x86/spectre: fix an error message Dan Carpenter
  2018-02-14  7:21 ` Joe Perches
@ 2018-02-14  8:36 ` " tip-bot for Dan Carpenter
  2018-02-15  0:30 ` tip-bot for Dan Carpenter
  2 siblings, 0 replies; 4+ messages in thread
From: tip-bot for Dan Carpenter @ 2018-02-14  8:36 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: torvalds, mingo, peterz, karahmed, bp, hpa, gregkh, luto,
	dan.carpenter, tglx, dwmw, linux-kernel

Commit-ID:  b4764623932ff364df9a6bc8664ab7697c475339
Gitweb:     https://git.kernel.org/tip/b4764623932ff364df9a6bc8664ab7697c475339
Author:     Dan Carpenter <dan.carpenter@oracle.com>
AuthorDate: Wed, 14 Feb 2018 10:14:17 +0300
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 14 Feb 2018 08:23:07 +0100

x86/spectre: Fix an error message

If i == ARRAY_SIZE(mitigation_options) then we accidentally print
garbage from one space beyond the end of the mitigation_options[] array.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: KarimAllah Ahmed <karahmed@amazon.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kernel-janitors@vger.kernel.org
Fixes: 9005c6834c0f ("x86/spectre: Simplify spectre_v2 command line parsing")
Link: http://lkml.kernel.org/r/20180214071416.GA26677@mwanda
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/kernel/cpu/bugs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 4acf16a..d71c8b5 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -174,7 +174,7 @@ static enum spectre_v2_mitigation_cmd __init spectre_v2_parse_cmdline(void)
 		}
 
 		if (i >= ARRAY_SIZE(mitigation_options)) {
-			pr_err("unknown option (%s). Switching to AUTO select\n", mitigation_options[i].option);
+			pr_err("unknown option (%s). Switching to AUTO select\n", arg);
 			return SPECTRE_V2_CMD_AUTO;
 		}
 	}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:x86/pti] x86/spectre: Fix an error message
  2018-02-14  7:14 [PATCH] x86/spectre: fix an error message Dan Carpenter
  2018-02-14  7:21 ` Joe Perches
  2018-02-14  8:36 ` [tip:x86/pti] x86/spectre: Fix " tip-bot for Dan Carpenter
@ 2018-02-15  0:30 ` tip-bot for Dan Carpenter
  2 siblings, 0 replies; 4+ messages in thread
From: tip-bot for Dan Carpenter @ 2018-02-15  0:30 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: hpa, gregkh, peterz, mingo, tglx, bp, karahmed, dwmw,
	dan.carpenter, linux-kernel, torvalds, luto

Commit-ID:  9de29eac8d2189424d81c0d840cd0469aa3d41c8
Gitweb:     https://git.kernel.org/tip/9de29eac8d2189424d81c0d840cd0469aa3d41c8
Author:     Dan Carpenter <dan.carpenter@oracle.com>
AuthorDate: Wed, 14 Feb 2018 10:14:17 +0300
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 15 Feb 2018 01:15:53 +0100

x86/spectre: Fix an error message

If i == ARRAY_SIZE(mitigation_options) then we accidentally print
garbage from one space beyond the end of the mitigation_options[] array.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: KarimAllah Ahmed <karahmed@amazon.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kernel-janitors@vger.kernel.org
Fixes: 9005c6834c0f ("x86/spectre: Simplify spectre_v2 command line parsing")
Link: http://lkml.kernel.org/r/20180214071416.GA26677@mwanda
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/kernel/cpu/bugs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index 4acf16a..d71c8b5 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -174,7 +174,7 @@ static enum spectre_v2_mitigation_cmd __init spectre_v2_parse_cmdline(void)
 		}
 
 		if (i >= ARRAY_SIZE(mitigation_options)) {
-			pr_err("unknown option (%s). Switching to AUTO select\n", mitigation_options[i].option);
+			pr_err("unknown option (%s). Switching to AUTO select\n", arg);
 			return SPECTRE_V2_CMD_AUTO;
 		}
 	}

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-14  7:14 [PATCH] x86/spectre: fix an error message Dan Carpenter
2018-02-14  7:21 ` Joe Perches
2018-02-14  8:36 ` [tip:x86/pti] x86/spectre: Fix " tip-bot for Dan Carpenter
2018-02-15  0:30 ` tip-bot for Dan Carpenter

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org linux-kernel@archiver.kernel.org
	public-inbox-index lkml


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/ public-inbox