From: Tycho Andersen <tycho@kernel.org>
To: Sean Christopherson <seanjc@google.com>
Cc: Ashish Kalra <ashish.kalra@amd.com>,
Tom Lendacky <thomas.lendacky@amd.com>,
John Allen <john.allen@amd.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
Paolo Bonzini <pbonzini@redhat.com>,
Shuah Khan <shuah@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
kvm@vger.kernel.org, linux-kselftest@vger.kernel.org
Subject: Re: [PATCH 2/4] selftests/kvm: check that SEV-ES VMs are allowed in SEV-SNP mode
Date: Wed, 25 Feb 2026 10:29:49 -0700 [thread overview]
Message-ID: <aZ8xje-iM0_9ACie@tycho.pizza> (raw)
In-Reply-To: <aZ3ntHUPXNTNoyx2@google.com>
On Tue, Feb 24, 2026 at 10:02:28AM -0800, Sean Christopherson wrote:
> Hmm, I like the idea of clearing supported_vm_types. The wrinkle is that "legacy"
> deployments that use KVM_SEV_INIT instead of KVM_SEV_INIT2 will use
> KVM_X86_DEFAULT_VM, and probably won't check for SEV and SEV_ES VM types.
Does that matter? If in the case of CiphertextHiding we would revoke
KVM_X86_SEV_VM, users already couldn't start a VM anyway in the
configuration.
The firmware update is more tricky, but I don't think you can blame
the kernel there...
> Alternatively, or in addition to, we could clear X86_FEATURE_SEV_ES. But clearing
> SEV_ES while leaving X86_FEATURE_SEV_SNP makes me nervous. KVM doesn't *currently*
> check for any of those in kvm_cpu_caps, but that could change in the future. And
> it's somewhat misleading, e.g. because sev_snp_guest() expects sev_es_guest() to
> be true.
>
> Given that it doesn't make sense for KVM to actively prevent the admin from upgrading
> the firmware, I think it's ok if KVM can't "gracefully" handle *every* case. E.g.
> even if KVM clears X86_FEATURE_SEV_ES, userspace could have cached that information
> at system boot.
>
> > > Hrm, I think we also neglected to communicate when SEV and SEV-ES are effectively
> > > unusable, e.g. due to CipherTextHiding, so maybe we can kill two birds with one
> > > stone? IIRC, we didn't bother enumerating the limitation with CipherTextHiding
> > > because making SEV-ES unusable would require a deliberate act from the admin.
> >
> > We know these parameters at module load time so we could unset the
> > supported bit, but...
> >
> > > "Update firmware" is also an deliberate act, but the side effect of SEV-ES being
> > > disabled, not so much.
> >
> > since this could be a runtime thing via DOWNLOAD_FIRMWARE_EX at some
> > point, I guess we need a new RUNTIME_STATUS ioctl or similar. Then the
> > question is: does it live in /dev/sev, or /dev/kvm?
>
> Ugh. Yeah, updating supported_vm_types definitely seems like the least-awful
> option.
Since firmware update only happens on init right now, I think we can
add a:
int sev_firmware_supported_vm_types();
that will do the feature detection from the ccp, and merge that with
the results based on asid assignments during module init.
We'll eventually need some callback into KVM to say say "hey the
firmware got updated here's a new list of vm types".
Tycho
next prev parent reply other threads:[~2026-02-25 17:29 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-23 16:28 [PATCH 0/4] Allow setting RAPL_DIS during SNP_INIT_EX Tycho Andersen
2026-02-23 16:28 ` [PATCH 1/4] selftests/kvm: allow retrieving underlying SEV firmware error Tycho Andersen
2026-02-23 16:28 ` [PATCH 2/4] selftests/kvm: check that SEV-ES VMs are allowed in SEV-SNP mode Tycho Andersen
2026-02-23 16:36 ` Sean Christopherson
2026-02-23 16:48 ` Tycho Andersen
2026-02-23 17:15 ` Sean Christopherson
2026-02-23 22:12 ` Tycho Andersen
2026-02-24 18:02 ` Sean Christopherson
2026-02-25 17:29 ` Tycho Andersen [this message]
2026-02-25 17:44 ` Sean Christopherson
2026-02-26 20:59 ` Tycho Andersen
2026-02-26 22:28 ` Sean Christopherson
2026-02-23 16:28 ` [PATCH 3/4] crypto/ccp: support setting RAPL_DIS in SNP_INIT_EX Tycho Andersen
2026-02-23 16:40 ` Sean Christopherson
2026-02-23 22:14 ` Tycho Andersen
2026-02-24 17:50 ` Sean Christopherson
2026-02-25 18:05 ` Tycho Andersen
2026-02-23 16:29 ` [PATCH 4/4] selftests/kvm: smoke test support for RAPL_DIS Tycho Andersen
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=aZ8xje-iM0_9ACie@tycho.pizza \
--to=tycho@kernel.org \
--cc=ashish.kalra@amd.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=john.allen@amd.com \
--cc=kvm@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=shuah@kernel.org \
--cc=thomas.lendacky@amd.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