Hi Jose,
On Tue, Aug 6, 2024 at 2:46 PM Jose Fernandez <jose.fernandez(a)linux.dev> wrote:
On 24/08/05 02:30PM, Tao Liu wrote:
> For live debug, I noticed for cachyos, kallsyms will output 0 address
> for kernel symbols even as root:
>
> [root@cachyos-x8664 ~]# cat /proc/kallsyms |less
> 0000000000000000 A fixed_percpu_data
> 0000000000000000 A __per_cpu_start
> 0000000000000000 A cpu_debug_store
> 0000000000000000 A irq_stack_backing_store
> ...
> [root@cachyos-x8664 ~]# cat /proc/sys/kernel/kptr_restrict
> 2
>
> This would prevent crash to detect the kaslr info. To avoid this,
> please enable the address presenting by:
>
> [root@cachyos-x8664 ~]# echo 0 > /proc/sys/kernel/kptr_restrict
> [root@cachyos-x8664 ~]# cat /proc/kallsyms |less
> 0000000000000000 A fixed_percpu_data
> 0000000000000000 A __per_cpu_start
> 0000000000001000 A cpu_debug_store
> 0000000000002000 A irq_stack_backing_store
> ...
>
> then invoke the crash for live debug will have no problem.
Tao, thanks for surfacing this. I'm curious why the commit that Kazu referenced
also appears to solve the problem. I can get live debug to work when I compile
crash from HEAD without enabling the addresses. Do you know why?
https://github.com/crash-utility/crash/commit/6752571d8d782d07537a258a1ec...
Not sure... If your crash didn't have the above patch integrated, then
it definitely will fail. I compiled the upstream crash on the cachyos,
which already have the patch, but failed due to the 0 address in
kallsyms for live debug, after setting kptr_restrict then it worked. I
guess your env is not the same as mine...
Thanks,
Tao Liu
> Also so if you are dealing with the newest kernel, both
makedumpfile and
> crash will need to be newest, otherwise some bugs you may encounter.
Will do!
> Thanks,
> Tao Liu