KVM: arm64: Fix hypervisor address symbolization
authorKalesh Singh <kaleshsingh@google.com>
Fri, 15 Jul 2022 23:58:24 +0000 (16:58 -0700)
committerMarc Zyngier <maz@kernel.org>
Sun, 17 Jul 2022 10:43:40 +0000 (11:43 +0100)
With CONFIG_RANDOMIZE_BASE=y vmlinux addresses will resolve incorrectly
from kallsyms. Fix this by adding the KASLR offset before printing the
symbols.

Fixes: 6ccf9cb557bd ("KVM: arm64: Symbolize the nVHE HYP addresses")
Reported-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220715235824.2549012-1-kaleshsingh@google.com
arch/arm64/kvm/handle_exit.c

index f66c014..e43926e 100644 (file)
@@ -347,10 +347,10 @@ void __noreturn __cold nvhe_hyp_panic_handler(u64 esr, u64 spsr,
                        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);
+                                       (void *)(panic_addr + kaslr_offset()));
        } else {
                kvm_err("nVHE hyp panic at: [<%016llx>] %pB!\n", panic_addr,
-                               (void *)panic_addr);
+                               (void *)(panic_addr + kaslr_offset()));
        }
 
        /*