]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
KVM: x86: Use guard() instead of mutex_lock() to simplify code
authorLiao Yuanhong <liaoyuanhong@vivo.com>
Mon, 1 Sep 2025 13:18:21 +0000 (21:18 +0800)
committerSean Christopherson <seanjc@google.com>
Tue, 16 Sep 2025 19:55:10 +0000 (12:55 -0700)
Use guard(mutex) instead of mutex_lock/mutex_unlock pair to simplify the
error handling when allocating the APIC access page.

No functional change intended.

Signed-off-by: Liao Yuanhong <liaoyuanhong@vivo.com>
Link: https://lore.kernel.org/r/20250901131822.647802-1-liaoyuanhong@vivo.com
[sean: add blank link to isolate guard(), tweak changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/lapic.c

index ab48e057dbdc1ec87dff8712ae7248b4f6f0a4e7..c7486f2134329e08a2017959eec06309cec92297 100644 (file)
@@ -2747,24 +2747,21 @@ void kvm_apic_update_apicv(struct kvm_vcpu *vcpu)
 int kvm_alloc_apic_access_page(struct kvm *kvm)
 {
        void __user *hva;
-       int ret = 0;
 
-       mutex_lock(&kvm->slots_lock);
+       guard(mutex)(&kvm->slots_lock);
+
        if (kvm->arch.apic_access_memslot_enabled ||
            kvm->arch.apic_access_memslot_inhibited)
-               goto out;
+               return 0;
 
        hva = __x86_set_memory_region(kvm, APIC_ACCESS_PAGE_PRIVATE_MEMSLOT,
                                      APIC_DEFAULT_PHYS_BASE, PAGE_SIZE);
-       if (IS_ERR(hva)) {
-               ret = PTR_ERR(hva);
-               goto out;
-       }
+       if (IS_ERR(hva))
+               return PTR_ERR(hva);
 
        kvm->arch.apic_access_memslot_enabled = true;
-out:
-       mutex_unlock(&kvm->slots_lock);
-       return ret;
+
+       return 0;
 }
 EXPORT_SYMBOL_GPL(kvm_alloc_apic_access_page);