mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Borislav Petkov <bp@alien8.de>,
	arjan@linux.intel.com, karahmed@amazon.de, x86@kernel.org,
	linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com,
	peterz@infradead.org, pbonzini@redhat.com, ak@linux.intel.com,
	torvalds@linux-foundation.org, gregkh@linux-foundation.org
Subject: Re: [PATCH] x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel
Date: Tue, 30 Jan 2018 13:57:21 +0100 (CET)	[thread overview]
Message-ID: <alpine.DEB.2.20.1801301349140.1797@nanos> (raw)
In-Reply-To: <1517314193.18619.115.camel@infradead.org>

[-- Attachment #1: Type: text/plain, Size: 1525 bytes --]

On Tue, 30 Jan 2018, David Woodhouse wrote:

> On Tue, 2018-01-30 at 12:37 +0100, Thomas Gleixner wrote:
> 
> > In any case, if there is ucode mismatch between CPUs the whole thing is
> > hosed anyway no matter what. So can you please agree on a solution so we
> > can unbreak the current state of affairs?
> 
> If there is µcode mismatch between CPUs then the inconsistent bits
> should be filtered down to the lowest common denominator and we
> shouldn't use the features that are not consistently present. That much
> ought to work already with my patch.
> 
> Boris's version uses setup_force_cpu_cap() and forces the bit to be set
> even on secondary CPUs which don't really have it, and thus it won't
> get filtered out. We'll try to use it, and it will fault on the CPUs
> which don't have it.

So much for the theory. That's not going to work. If the boot cpu has the
feature then the alternatives will have been applied. So even if the flag
mismatch can be observed when a secondary CPU comes up the outcome will be
access to a non existing MSR and #GP.

The whole per cpu feature flag magic in x86 is just an empty shell
providing the illusion of supporting heterogenous systems. If that "works" in
a particular constellation then by pure chance and not by design.

All you can reasonably do is to detect the mismatch once the CPU is brought
up and then immediately aborting the hotplug operation _before_ it has the
chance to touch anything. But that does not necessarily require per cpu
storage.

Thanks,

	tglx


  reply	other threads:[~2018-01-30 12:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-29 23:49 David Woodhouse
2018-01-30 10:37 ` Thomas Gleixner
2018-01-30 10:58 ` Borislav Petkov
2018-01-30 11:03   ` David Woodhouse
2018-01-30 11:18     ` Borislav Petkov
2018-01-30 11:28       ` David Woodhouse
2018-01-30 11:37         ` Thomas Gleixner
2018-01-30 12:09           ` David Woodhouse
2018-01-30 12:57             ` Thomas Gleixner [this message]
2018-01-30 13:11               ` Borislav Petkov
2018-01-30 14:01                 ` Arjan van de Ven
2018-01-30 14:54                   ` Alan Cox
2018-01-30 14:57                     ` David Woodhouse
2018-01-30 18:19                 ` Henrique de Moraes Holschuh

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=alpine.DEB.2.20.1801301349140.1797@nanos \
    --to=tglx@linutronix.de \
    --cc=ak@linux.intel.com \
    --cc=arjan@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=dwmw2@infradead.org \
    --cc=gregkh@linux-foundation.org \
    --cc=karahmed@amazon.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tim.c.chen@linux.intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.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

all inboxes | Powered by JetHome®