From: Dave Martin <Dave.Martin@arm.com>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: Andre Przywara <andre.przywara@arm.com>,
kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu
Subject: Re: [PATCH 0/2] KVM: arm/arm64: Add VCPU workarounds firmware register
Date: Tue, 22 Jan 2019 15:28:27 +0000 [thread overview]
Message-ID: <20190122152826.GH3578@e103592.cambridge.arm.com> (raw)
In-Reply-To: <8636pkagps.wl-marc.zyngier@arm.com>
On Tue, Jan 22, 2019 at 02:51:11PM +0000, Marc Zyngier wrote:
> On Tue, 22 Jan 2019 13:56:34 +0000,
> Dave Martin <Dave.Martin@arm.com> wrote:
> >
> > On Tue, Jan 22, 2019 at 11:11:09AM +0000, Marc Zyngier wrote:
> > > On Tue, 22 Jan 2019 10:17:00 +0000,
> > > Dave Martin <Dave.Martin@arm.com> 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...
> > >
> > > And that's exactly the case we're trying to avoid. Two instances of
> > > the same HW. One with firmware mitigations, one without. Migrating in
> > > one direction is perfectly safe, migrating in the other isn't.
> > >
> > > It is not about migrating to different HW at all.
> >
> > So this is a realistic scenario when deploying a firmware update across
> > a cluter that has homogeneous hardware -- there will temporarly be
> > different firmware versions running on different nodes?
>
> Case in point: I have on my desk two AMD Seattle systems. One with an
> ancient firmware that doesn't mitigate anything, and one that has all
> the mitigations applied (and correctly advertised). I can migrate
> stuff back and forth, and that's really bad.
Agreed.
> What people do in their data centre is none of my business,
> really. What concerns me is that there is a potential for something
> bad to happen without people noticing. And it is KVM's job to do the
> right thing in this case.
Fair enough.
> > My concern is really "will the checking be too buggy / untested in
> > practice to be justified by the use case".
>
> Not doing anything is not going to make the current situation "less
> buggy". We have all the stuff we need to test this. We can even
> artificially create the various scenarios on a model.
Agreed. My concern is about how this will scale if future
vulnerabilities are added to the mix. We might ultimately end up in a
worse mess, but I may be being paranoid.
> > I'll take a closer look at the checking logic.
See the other thread. I have an idea there for exposing the information
in a different way that may simplfy things (or be totally misguided...)
Cheers
---Dave
prev parent reply other threads:[~2019-01-22 15:28 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-07 12:05 [PATCH 0/2] KVM: arm/arm64: Add VCPU workarounds firmware register Andre Przywara
2019-01-07 12:05 ` [PATCH 1/2] KVM: arm/arm64: Add save/restore support for firmware workaround state Andre Przywara
2019-01-07 13:17 ` Steven Price
2019-01-21 17:04 ` Andre Przywara
2019-02-22 12:26 ` Andre Przywara
2019-01-22 15:17 ` Dave Martin
2019-01-25 14:46 ` Andre Przywara
2019-01-29 21:32 ` Dave Martin
2019-01-30 11:39 ` Andre Przywara
2019-01-30 12:07 ` Dave Martin
2019-02-15 9:58 ` Andre Przywara
2019-02-15 11:42 ` Marc Zyngier
2019-02-15 17:26 ` Dave Martin
2019-02-18 9:07 ` Marc Zyngier
2019-02-18 10:28 ` Dave Martin
2019-02-18 10:59 ` Marc Zyngier
2019-02-18 11:29 ` André Przywara
2019-02-18 14:15 ` Marc Zyngier
2019-01-07 12:05 ` [PATCH 2/2] KVM: doc: add API documentation on the KVM_REG_ARM_WORKAROUNDS register Andre Przywara
2019-01-22 10:17 ` [PATCH 0/2] KVM: arm/arm64: Add VCPU workarounds firmware register Dave Martin
2019-01-22 10:41 ` Andre Przywara
2019-01-22 11:11 ` Marc Zyngier
2019-01-22 13:56 ` Dave Martin
2019-01-22 14:51 ` Marc Zyngier
2019-01-22 15:28 ` Dave Martin [this message]
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=20190122152826.GH3578@e103592.cambridge.arm.com \
--to=dave.martin@arm.com \
--cc=andre.przywara@arm.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=marc.zyngier@arm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox