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, luto@kernel.org, gnomes@lxorguk.ukuu.org.uk,
	bp@alien8.de, fenghua.yu@intel.com, hpa@zytor.com,
	dave.hansen@linux.intel.com, torvalds@linux-foundation.org,
	oleg@redhat.com, linux-kernel@vger.kernel.org,
	tedheadster@gmail.com, mingo@kernel.org, bp@suse.de,
	yu-cheng.yu@intel.com, peterz@infradead.org, brgerst@gmail.com,
	riel@redhat.com
Subject: [tip:x86/fpu] x86/cpu: Re-apply forced caps every time CPU caps are re-read
Date: Wed, 25 Jan 2017 03:41:26 -0800	[thread overview]
Message-ID: <tip-60d3450167433f2d099ce2869dc52dd9e7dc9b29@git.kernel.org> (raw)
In-Reply-To: <c817eb373d2c67c2c81413a70fc9b845fa34a37e.1484705016.git.luto@kernel.org>

Commit-ID:  60d3450167433f2d099ce2869dc52dd9e7dc9b29
Gitweb:     http://git.kernel.org/tip/60d3450167433f2d099ce2869dc52dd9e7dc9b29
Author:     Andy Lutomirski <luto@kernel.org>
AuthorDate: Wed, 18 Jan 2017 11:15:39 -0800
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 25 Jan 2017 10:12:41 +0100

x86/cpu: Re-apply forced caps every time CPU caps are re-read

Calling get_cpu_cap() will reset a bunch of CPU features.  This will
cause the system to lose track of force-set and force-cleared
features in the words that are reset until the end of CPU
initialization.  This can cause X86_FEATURE_FPU, for example, to
change back and forth during boot and potentially confuse CPU setup.

To minimize the chance of confusion, re-apply forced caps every time
get_cpu_cap() is called.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matthew Whitehead <tedheadster@gmail.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Yu-cheng Yu <yu-cheng.yu@intel.com>
Link: http://lkml.kernel.org/r/c817eb373d2c67c2c81413a70fc9b845fa34a37e.1484705016.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/kernel/cpu/common.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 2ea16e0..d09b5ee 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -758,6 +758,13 @@ void get_cpu_cap(struct cpuinfo_x86 *c)
 		c->x86_capability[CPUID_8000_000A_EDX] = cpuid_edx(0x8000000a);
 
 	init_scattered_cpuid_features(c);
+
+	/*
+	 * Clear/Set all flags overridden by options, after probe.
+	 * This needs to happen each time we re-probe, which may happen
+	 * several times during CPU initialization.
+	 */
+	apply_forced_caps(c);
 }
 
 static void identify_cpu_without_cpuid(struct cpuinfo_x86 *c)

  parent reply	other threads:[~2017-01-25 11:43 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-18 19:15 [PATCH v2 0/6] CPUID and FPU fixes Andy Lutomirski
2017-01-18 19:15 ` [PATCH v2 1/6] x86/cpu: Add X86_FEATURE_CPUID Andy Lutomirski
2017-01-25 11:40   ` [tip:x86/fpu] " tip-bot for Borislav Petkov
2017-01-18 19:15 ` [PATCH v2 2/6] x86/cpu: Factor out application of forced cpu caps Andy Lutomirski
2017-01-25 11:40   ` [tip:x86/fpu] x86/cpu: Factor out application of forced CPU caps tip-bot for Andy Lutomirski
2017-01-18 19:15 ` [PATCH v2 3/6] x86/cpu: Re-apply forced caps every time cpu caps are re-read Andy Lutomirski
2017-01-19 11:23   ` Borislav Petkov
2017-01-25 11:41   ` tip-bot for Andy Lutomirski [this message]
2017-01-18 19:15 ` [PATCH v2 4/6] x86/fpu: Fix "x86/fpu: Legacy x87 FPU detected" message Andy Lutomirski
2017-01-25 11:42   ` [tip:x86/fpu] " tip-bot for Andy Lutomirski
2017-01-18 19:15 ` [PATCH v2 5/6] x86/fpu: Fix CPUID-less FPU detection Andy Lutomirski
2017-01-19 11:23   ` Borislav Petkov
2017-01-25 11:42   ` [tip:x86/fpu] " tip-bot for Andy Lutomirski
2017-01-18 19:15 ` [PATCH v2 6/6] x86/fpu: Fix the "Giving up, no FPU found" test Andy Lutomirski
2017-01-25 11:43   ` [tip:x86/fpu] " 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-60d3450167433f2d099ce2869dc52dd9e7dc9b29@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=bp@alien8.de \
    --cc=bp@suse.de \
    --cc=brgerst@gmail.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=fenghua.yu@intel.com \
    --cc=gnomes@lxorguk.ukuu.org.uk \
    --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=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=riel@redhat.com \
    --cc=tedheadster@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=yu-cheng.yu@intel.com \
    /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.