KVM: Simplify error handling in __gfn_to_pfn_memslot()
authorAnish Moorthy <amoorthy@google.com>
Thu, 15 Feb 2024 23:53:55 +0000 (23:53 +0000)
committerSean Christopherson <seanjc@google.com>
Tue, 9 Apr 2024 21:10:08 +0000 (14:10 -0700)
KVM_HVA_ERR_RO_BAD satisfies kvm_is_error_hva(), so there's no need to
duplicate the "if (writable)" block. Fix this by bringing all
kvm_is_error_hva() cases under one conditional.

Signed-off-by: Anish Moorthy <amoorthy@google.com>
Link: https://lore.kernel.org/r/20240215235405.368539-5-amoorthy@google.com
[sean: use ternary operator]
Signed-off-by: Sean Christopherson <seanjc@google.com>
virt/kvm/kvm_main.c

index 2fad1a5c377ae221a6329b1ac68af8dd56907478..3573c8cd9e11ff8ebd629c56e76210d8451a0d4e 100644 (file)
@@ -3035,16 +3035,12 @@ kvm_pfn_t __gfn_to_pfn_memslot(const struct kvm_memory_slot *slot, gfn_t gfn,
        if (hva)
                *hva = addr;
 
-       if (addr == KVM_HVA_ERR_RO_BAD) {
-               if (writable)
-                       *writable = false;
-               return KVM_PFN_ERR_RO_FAULT;
-       }
-
        if (kvm_is_error_hva(addr)) {
                if (writable)
                        *writable = false;
-               return KVM_PFN_NOSLOT;
+
+               return addr == KVM_HVA_ERR_RO_BAD ? KVM_PFN_ERR_RO_FAULT :
+                                                   KVM_PFN_NOSLOT;
        }
 
        /* Do not map writable pfn in the readonly memslot. */