Re: [PATCH 0/5] KVM: SEV: Drop user-triggerable WARN clean up REG_REGION

From: Liam Merwick

Date: Mon Mar 16 2026 - 12:06:06 EST




On 13/03/2026 00:32, Sean Christopherson wrote:
Drop a WARN in sev_pin_memory() that is comically easy to trigger, and then
clean up the code a bit.

*** WARNING ***

The last patch impacts KVM's ABI due to a size restriction that's applied to
kvmalloc() but not vmalloc(). If my math is correct (definitely a big "if),
it will only impact VMMs that attempt to do KVM_MEMORY_ENCRYPT_REG_REGION with
a single region of ~1TiB+.

Liam, I Cc'd you specifically because it looks like Oracle supports SEV VMs
with more than 1TiB of _total_ memory. I assume that's spread across multiple
memslots and thus multiple KVM_MEMORY_ENCRYPT_REG_REGION calls, but I wanted to
double check before potentially breaking userspace.


I tested the series with various sized large memory SEV VMs and all
seemed good to me. For the series:

Reviewed-by: Liam Merwick <liam.merwick@xxxxxxxxxx>
Tested-by: Liam Merwick <liam.merwick@xxxxxxxxxx>



Sean Christopherson (5):
KVM: SEV: Drop WARN on large size for KVM_MEMORY_ENCRYPT_REG_REGION
KVM: SEV: Drop useless sanity checks in sev_mem_enc_register_region()
KVM: SEV: Disallow pinning more pages than exist in the system
KVM: SEV: Use PFN_DOWN() to simplify "number of pages" math when
pinning memory
KVM: SEV: Use kvzalloc_objs() when pinning userpages

arch/x86/kvm/svm/sev.c | 51 +++++++++++++++++++++---------------------
1 file changed, 25 insertions(+), 26 deletions(-)


base-commit: bfd7f4adc1230373c25e1b787a6f1ee407eb0656