Message ID | 20220715235824.2549012-1-kaleshsingh@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: arm64: Fix hypervisor address symbolization | expand |
On Sat, 16 Jul 2022 00:58:24 +0100, Kalesh Singh <kaleshsingh@google.com> wrote: > > With CONFIG_RANDOMIZE_BASE=y vmlinux addresses will resolve correctly I guess you mean *incorrectly* here, right? > from kallsyms. Fix this by adding the KASLR offset before printing the > symbols. > > Based on arm64 for-next/stacktrace. In general, place these remarks after the '---' line, as they don't really make sense in the commit itself (which is likely to be merged on a different base anyway). > > Fixes: 6ccf9cb557bd ("KVM: arm64: Symbolize the nVHE HYP addresses") > Reported-by: Fuad Tabba <tabba@google.com> > Signed-off-by: Kalesh Singh <kaleshsingh@google.com> > --- > arch/arm64/kvm/handle_exit.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c > index f66c0142b335..e43926ef2bc2 100644 > --- a/arch/arm64/kvm/handle_exit.c > +++ b/arch/arm64/kvm/handle_exit.c > @@ -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())); > } > > /* > I'll fix the above as I apply the patch, no need to respin. Thanks, M.
On Fri, 15 Jul 2022 16:58:24 -0700, Kalesh Singh wrote: > With CONFIG_RANDOMIZE_BASE=y vmlinux addresses will resolve correctly > from kallsyms. Fix this by adding the KASLR offset before printing the > symbols. > > Based on arm64 for-next/stacktrace. Applied to next, thanks! [1/1] KVM: arm64: Fix hypervisor address symbolization commit: ed6313a93fd11d2015ad17046f3c418bf6a8dab1 Cheers, M.
On Sun, Jul 17, 2022 at 3:43 AM Marc Zyngier <maz@kernel.org> wrote: > > On Sat, 16 Jul 2022 00:58:24 +0100, > Kalesh Singh <kaleshsingh@google.com> wrote: > > > > With CONFIG_RANDOMIZE_BASE=y vmlinux addresses will resolve correctly > > I guess you mean *incorrectly* here, right? Yes, sorry. "INcorrectly" I meant to say. > > > from kallsyms. Fix this by adding the KASLR offset before printing the > > symbols. > > > > Based on arm64 for-next/stacktrace. > > In general, place these remarks after the '---' line, as they don't > really make sense in the commit itself (which is likely to be merged > on a different base anyway). > > > > > Fixes: 6ccf9cb557bd ("KVM: arm64: Symbolize the nVHE HYP addresses") > > Reported-by: Fuad Tabba <tabba@google.com> > > Signed-off-by: Kalesh Singh <kaleshsingh@google.com> > > --- > > arch/arm64/kvm/handle_exit.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c > > index f66c0142b335..e43926ef2bc2 100644 > > --- a/arch/arm64/kvm/handle_exit.c > > +++ b/arch/arm64/kvm/handle_exit.c > > @@ -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())); > > } > > > > /* > > > > I'll fix the above as I apply the patch, no need to respin. Thanks Marc. -- Kalesh > > Thanks, > > M. > > -- > Without deviation from the norm, progress is not possible.
Hi Kalesh, On Sat, Jul 16, 2022 at 12:58 AM Kalesh Singh <kaleshsingh@google.com> wrote: > > With CONFIG_RANDOMIZE_BASE=y vmlinux addresses will resolve correctly > from kallsyms. Fix this by adding the KASLR offset before printing the > symbols. > > Based on arm64 for-next/stacktrace. > > Fixes: 6ccf9cb557bd ("KVM: arm64: Symbolize the nVHE HYP addresses") > Reported-by: Fuad Tabba <tabba@google.com> > Signed-off-by: Kalesh Singh <kaleshsingh@google.com> > --- Even with this patch applied I still don't get symbolization unless I disable randomization, either by setting CONFIG_RANDOMIZE_BASE=n or pass nokaslr as a kernel parameter. I tried both and in either case it works. Thanks, /fuad > arch/arm64/kvm/handle_exit.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c > index f66c0142b335..e43926ef2bc2 100644 > --- a/arch/arm64/kvm/handle_exit.c > +++ b/arch/arm64/kvm/handle_exit.c > @@ -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())); > } > > /* > > base-commit: 82a592c13b0aeff94d84d54183dae0b26384c95f > -- > 2.37.0.170.g444d1eabd0-goog >
On Mon, Jul 18, 2022 at 2:08 AM Fuad Tabba <tabba@google.com> wrote: > > Hi Kalesh, > > On Sat, Jul 16, 2022 at 12:58 AM Kalesh Singh <kaleshsingh@google.com> wrote: > > > > With CONFIG_RANDOMIZE_BASE=y vmlinux addresses will resolve correctly > > from kallsyms. Fix this by adding the KASLR offset before printing the > > symbols. > > > > Based on arm64 for-next/stacktrace. > > > > Fixes: 6ccf9cb557bd ("KVM: arm64: Symbolize the nVHE HYP addresses") > > Reported-by: Fuad Tabba <tabba@google.com> > > Signed-off-by: Kalesh Singh <kaleshsingh@google.com> > > --- > > Even with this patch applied I still don't get symbolization unless I > disable randomization, either by setting CONFIG_RANDOMIZE_BASE=n or > pass nokaslr as a kernel parameter. I tried both and in either case it > works. Hi Fuad, Thanks for testing it. The fix only addressed the symbolization for the hyp panic address. I plan to fix the symbolization of stacktrace in the next version of this series. --Kalesh > > Thanks, > /fuad > > > > arch/arm64/kvm/handle_exit.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c > > index f66c0142b335..e43926ef2bc2 100644 > > --- a/arch/arm64/kvm/handle_exit.c > > +++ b/arch/arm64/kvm/handle_exit.c > > @@ -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())); > > } > > > > /* > > > > base-commit: 82a592c13b0aeff94d84d54183dae0b26384c95f > > -- > > 2.37.0.170.g444d1eabd0-goog > >
diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c index f66c0142b335..e43926ef2bc2 100644 --- a/arch/arm64/kvm/handle_exit.c +++ b/arch/arm64/kvm/handle_exit.c @@ -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())); } /*
With CONFIG_RANDOMIZE_BASE=y vmlinux addresses will resolve correctly from kallsyms. Fix this by adding the KASLR offset before printing the symbols. Based on arm64 for-next/stacktrace. Fixes: 6ccf9cb557bd ("KVM: arm64: Symbolize the nVHE HYP addresses") Reported-by: Fuad Tabba <tabba@google.com> Signed-off-by: Kalesh Singh <kaleshsingh@google.com> --- arch/arm64/kvm/handle_exit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) base-commit: 82a592c13b0aeff94d84d54183dae0b26384c95f