ANDROID: Fix nVHE address symbolization
To allow the kallsyms symbol lookup to be successful, re-add the
kaslr_offset before printing the resolved symbols.
This is a hack only meant for local demo. It will be fixed upstream
soon.
Change-Id: Ief748f1e02824f2b2f80ef11bb190ef25535a26c
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
diff --git a/arch/arm64/kernel/stacktrace.c b/arch/arm64/kernel/stacktrace.c
index 5d1a9d7..ea3a4fe 100644
--- a/arch/arm64/kernel/stacktrace.c
+++ b/arch/arm64/kernel/stacktrace.c
@@ -249,7 +249,7 @@ noinline notrace void hyp_dump_backtrace(unsigned long hyp_offset)
while (pc) {
pc &= va_mask; /* Mask tags */
pc += hyp_offset; /* Convert to kern addr */
- kvm_err("[<%016lx>] %pB\n", pc, (void *)pc);
+ kvm_err("[<%016lx>] %pB\n", pc, (void *)(pc + kaslr_offset()));
pc = *stacktrace_pos++;
}
diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c
index 72eaa2b..9abb5cc 100644
--- a/arch/arm64/kvm/handle_exit.c
+++ b/arch/arm64/kvm/handle_exit.c
@@ -330,10 +330,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()));
}
/* Dump the hypervisor stacktrace */