Re: [PATCH 34/35] x86/kvm: Add IBPB support

From: Paolo Bonzini
Date: Fri Jan 19 2018 - 11:48:34 EST


On 19/01/2018 17:08, David Woodhouse wrote:
> On Fri, 2018-01-19 at 16:25 +0100, Paolo Bonzini wrote:
>> Without retpolines, KVM userspace is not protected from the guest
>> poisoning the BTB, because there is no IBRS-barrier on the vmexit
>> path.
>> So there are two more IBPBs that are needed if retpolines are
>> enabled:
>>
>> 1) in kvm_sched_out
>>
>> 2) at the end of vcpu_run
>
> Hm, yes. That does seem reasonable. Can we make it conditional so it
> only happens *if* we end up back in userspace, and not for a VM->
> kernel->VM transition?

We can/want/must. It's actually kvm_arch_vcpu_ioctl_run, not vcpu_run.
Sorry.

> And can I have a patch against
> http://git.infradead.org/users/dwmw2/linux-retpoline.git/shortlog/refs/heads/ibpb-upstream
> please (see the XX in that top commit too).
>
> I'm still putting that together, and the IBRS bits on top; getting on
> an airplane to spend some more quality time with it now...

I'm completely lost with all the branches...

Paolo