[PATCH 3/6] KVM: SEV: use mutex guard in sev_mem_enc_register_region()

From: Carlos López

Date: Fri Dec 19 2025 - 06:43:54 EST


Simplify the error paths in sev_mem_enc_register_region() by using a
mutex guard, allowing early return instead of using a goto.

Signed-off-by: Carlos López <clopez@xxxxxxx>
---
arch/x86/kvm/svm/sev.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
index 0ee1b77aeec5..253f2ae24bfc 100644
--- a/arch/x86/kvm/svm/sev.c
+++ b/arch/x86/kvm/svm/sev.c
@@ -2691,13 +2691,13 @@ int sev_mem_enc_register_region(struct kvm *kvm,
if (!region)
return -ENOMEM;

- mutex_lock(&kvm->lock);
+ guard(mutex)(&kvm->lock);
region->pages = sev_pin_memory(kvm, range->addr, range->size, &region->npages,
FOLL_WRITE | FOLL_LONGTERM);
if (IS_ERR(region->pages)) {
ret = PTR_ERR(region->pages);
- mutex_unlock(&kvm->lock);
- goto e_free;
+ kfree(region);
+ return ret;
}

/*
@@ -2714,13 +2714,8 @@ int sev_mem_enc_register_region(struct kvm *kvm,
region->size = range->size;

list_add_tail(&region->list, &sev->regions_list);
- mutex_unlock(&kvm->lock);

return ret;
-
-e_free:
- kfree(region);
- return ret;
}

static struct enc_region *
--
2.51.0