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@oracle.com>
Tested-by: Liam Merwick <liam.merwick@oracle.com>
>
> 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