Re: [RFC,05/10] x86/speculation: Add basic IBRS support infrastructure

From: Christophe de Dinechin
Date: Wed Jan 31 2018 - 05:05:29 EST




> On 30 Jan 2018, at 21:46, Alan Cox <gnomes@xxxxxxxxxxxxxxxxxxx> wrote:
>
>> If you are ever going to migrate to Skylake, I think you should just
>> always tell the guests that you're running on Skylake. That way the
>> guests will always assume the worst case situation wrt Specte.
>
> Unfortunately if you do that then guest may also decide to use other
> Skylake hardware features and pop its clogs when it finds out its actually
> running on Westmere or SandyBridge.
>
> So you need to be able to both lie to the OS and user space via cpuid and
> also have a second 'but do skylake protections' that only mitigation
> aware software knows about.

Yes. The most desirable lie is different depending on whether you want to
allow virtualization features such as migration (where youâd gravitate
towards a CPU with less features) or whether you want to allow mitigation
(where youâd rather present the most fragile CPUID, probably Skylake).

Looking at some recent patches, Iâm concerned that the code being added
often assumes that the CPUID is the correct way to get that info.
I do not think this is correct. You really want specific information about
the host CPUID, not whatever KVM CPUID emulation makes up.