Re: [PATCH 0/2] KVM: arm/arm64: Add VCPU workarounds firmware register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 22 Jan 2019 10:17:00 +0000
Dave Martin <Dave.Martin@xxxxxxx> wrote:

> On Mon, Jan 07, 2019 at 12:05:35PM +0000, Andre Przywara wrote:
> > Workarounds for Spectre variant 2 or 4 vulnerabilities require some
> > help from the firmware, so KVM implements an interface to provide
> > that for guests. When such a guest is migrated, we want to make
> > sure we don't loose the protection the guest relies on.
> > 
> > This introduces two new firmware registers in KVM's GET/SET_ONE_REG
> > interface, so userland can save the level of protection implemented
> > by the hypervisor and used by the guest. Upon restoring these
> > registers, we make sure we don't downgrade and reject any values
> > that would mean weaker protection.  
> 
> Just trolling here, but could we treat these as immutable, like the ID
> registers?  
> 
> We don't support migration between nodes that are "too different" in
> any case, so I wonder if adding complex logic to compare
> vulnerabilities and workarounds is liable to create more problems
> than it solves...

That is a good point, and we should keep an eye on that it doesn't get
out of hands here. Indeed it is not clear yet how many users really
want to migrate between hosts with a different CPU or platform.
But ...
 
> Do we know of anyone who explicitly needs this flexibility yet?

I think there is a good use case to migrate from a vulnerable host
to one which implements mitigations or isn't vulnerable in the first
place, in which case we want to allow migrations. The scenario here
would probably to migrate VMs away, update the firmware, reboot
the host and migrate the VMs back.

For the other direction (increasing vulnerability) we deny it here,
which is in line with what you think of?

Cheers,
Andre.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux