]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: arm64: Introduce print_nvhe_hyp_panic helper
authorPierre-Clément Tosi <ptosi@google.com>
Mon, 10 Jun 2024 06:32:36 +0000 (07:32 +0100)
committerOliver Upton <oliver.upton@linux.dev>
Thu, 20 Jun 2024 17:40:54 +0000 (17:40 +0000)
Add a helper to display a panic banner soon to also be used for kCFI
failures, to ensure that we remain consistent.

Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240610063244.2828978-8-ptosi@google.com
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/kvm/handle_exit.c

index d41447193e136815ec3cbb6c51417d3ee495bf13..b3d6657a259dc7c4142a74ee67ca28eaaf0d6ddf 100644 (file)
@@ -411,6 +411,12 @@ void handle_exit_early(struct kvm_vcpu *vcpu, int exception_index)
                kvm_handle_guest_serror(vcpu, kvm_vcpu_get_esr(vcpu));
 }
 
+static void print_nvhe_hyp_panic(const char *name, u64 panic_addr)
+{
+       kvm_err("nVHE hyp %s at: [<%016llx>] %pB!\n", name, panic_addr,
+               (void *)(panic_addr + kaslr_offset()));
+}
+
 void __noreturn __cold nvhe_hyp_panic_handler(u64 esr, u64 spsr,
                                              u64 elr_virt, u64 elr_phys,
                                              u64 par, uintptr_t vcpu,
@@ -439,11 +445,9 @@ void __noreturn __cold nvhe_hyp_panic_handler(u64 esr, u64 spsr,
                if (file)
                        kvm_err("nVHE hyp BUG at: %s:%u!\n", file, line);
                else
-                       kvm_err("nVHE hyp BUG at: [<%016llx>] %pB!\n", panic_addr,
-                                       (void *)(panic_addr + kaslr_offset()));
+                       print_nvhe_hyp_panic("BUG", panic_addr);
        } else {
-               kvm_err("nVHE hyp panic at: [<%016llx>] %pB!\n", panic_addr,
-                               (void *)(panic_addr + kaslr_offset()));
+               print_nvhe_hyp_panic("panic", panic_addr);
        }
 
        /* Dump the nVHE hypervisor backtrace */