[PATCH 2/5] KVM: SEV: Drop useless sanity checks in sev_mem_enc_register_region()

From: Sean Christopherson

Date: Thu Mar 12 2026 - 20:34:30 EST


Drop sev_mem_enc_register_region()'s sanity checks on the incoming address
and size, as SEV is 64-bit only, making ULONG_MAX a 64-bit, all-ones value,
and thus making it impossible for kvm_enc_region.{addr,size} to be greater
than ULONG_MAX.

Note, sev_pin_memory() verifies the incoming address is non-NULL (which
isn't strictly required, but whatever), and that addr+size don't wrap to
zero (which _is_ needed and what really needs to be guarded against).

Note #2, pin_user_pages_fast() guards against the end address walking into
kernel address space, so lack of an access_ok() check is also safe (maybe
not ideal, but safe).

No functional change intended (the generated code is literally the same,
i.e. the compiler was smart enough to know the checks were useless).

Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
---
arch/x86/kvm/svm/sev.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
index 23a383f2e43d..857771586f16 100644
--- a/arch/x86/kvm/svm/sev.c
+++ b/arch/x86/kvm/svm/sev.c
@@ -2711,9 +2711,6 @@ int sev_mem_enc_register_region(struct kvm *kvm,
if (is_mirroring_enc_context(kvm))
return -EINVAL;

- if (range->addr > ULONG_MAX || range->size > ULONG_MAX)
- return -EINVAL;
-
region = kzalloc_obj(*region, GFP_KERNEL_ACCOUNT);
if (!region)
return -ENOMEM;
--
2.53.0.851.ga537e3e6e9-goog