All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Andy Lutomirski <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: tglx@linutronix.de, mingo@kernel.org,
	linux-kernel@vger.kernel.org, hpa@zytor.com, brgerst@gmail.com,
	luto@kernel.org, bp@alien8.de
Subject: [tip:x86/urgent] x86/boot: Fix another __read_cr4() case on 486
Date: Fri, 30 Sep 2016 03:43:38 -0700	[thread overview]
Message-ID: <tip-192d1dccbfc5b901b66527df9df80304693cf06e@git.kernel.org> (raw)
In-Reply-To: <8c453a61c4f44ab6ff43c29780ba04835234d2e5.1475178369.git.luto@kernel.org>

Commit-ID:  192d1dccbfc5b901b66527df9df80304693cf06e
Gitweb:     http://git.kernel.org/tip/192d1dccbfc5b901b66527df9df80304693cf06e
Author:     Andy Lutomirski <luto@kernel.org>
AuthorDate: Thu, 29 Sep 2016 12:48:11 -0700
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 30 Sep 2016 12:37:40 +0200

x86/boot: Fix another __read_cr4() case on 486

The condition for reading CR4 was wrong: there are some CPUs with
CPUID but not CR4.  Rather than trying to make the condition exact,
use __read_cr4_safe().

Fixes: 18bc7bd523e0 ("x86/boot: Synchronize trampoline_cr4_features and mmu_cr4_features directly")
Reported-by: david@saggiorato.net
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Link: http://lkml.kernel.org/r/8c453a61c4f44ab6ff43c29780ba04835234d2e5.1475178369.git.luto@kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

---
 arch/x86/kernel/setup.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 0fa60f5..98c9cd6 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1137,9 +1137,7 @@ void __init setup_arch(char **cmdline_p)
 	 * auditing all the early-boot CR4 manipulation would be needed to
 	 * rule it out.
 	 */
-	if (boot_cpu_data.cpuid_level >= 0)
-		/* A CPU has %cr4 if and only if it has CPUID. */
-		mmu_cr4_features = __read_cr4();
+	mmu_cr4_features = __read_cr4_safe();
 
 	memblock_set_current_limit(get_max_mapped());
 

  parent reply	other threads:[~2016-09-30 10:44 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-29 19:48 [PATCH v2 0/2] CR4 fixes (one is urgent) Andy Lutomirski
2016-09-29 19:48 ` [PATCH v2 1/2] x86/boot: Fix another __read_cr4() case on 486 Andy Lutomirski
2016-09-29 22:38   ` Borislav Petkov
2016-09-30 10:43   ` tip-bot for Andy Lutomirski [this message]
2016-09-29 19:48 ` [PATCH v2 2/2] x86/asm: Get rid of __read_cr4_safe() Andy Lutomirski
2016-09-30 10:45   ` [tip:x86/asm] " tip-bot for Andy Lutomirski

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=tip-192d1dccbfc5b901b66527df9df80304693cf06e@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=bp@alien8.de \
    --cc=brgerst@gmail.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.