gdb fails to access linux vmalloc-ed memory ffffc90000000000 in x86_64

  Kiến thức lập trình

My gdb (GNU gdb (GDB) 10.2) backtrace fails to access kernel memory in vmalloc range. This is with a kernel crash coredump on x86_64 platform.

In my understanding 0xffffc90000000000 is the vmalloc start range with 48-bit virtual addressing system.
https://www.kernel.org/doc/Documentation/x86/x86_64/mm.txt
ffffc90000000000 | -55 TB | ffffe8ffffffffff | 32 TB | vmalloc/ioremap space (vmalloc_base)

`(gdb) bt
 #0  0xffffffff817807ab in neigh_get_next (n=0xffff888129ff0a00, pos=0x0 <fixed_percpu_data>, 
    seq=<optimized out>, seq=<optimized out>) at net/core/neighbour.c:3220
 Backtrace stopped: Cannot access memory at address 0xffffc90000c77dc0`

However linux crash utility helped me to dump the complete backtrace. All stack frame addresses are in 0xffffc9xxxxxxxxxx address range.

`crash>bt
#6 [ffffc90000c77dc0] neigh_seq_next at ffffffff8178096d
#7 [ffffc90000c77de0] seq_read_iter at ffffffff812302c4
#8 [ffffc90000c77e38] seq_read at ffffffff8123054e
#9 [ffffc90000c77eb8] proc_reg_read at ffffffff812806b6
#10 [ffffc90000c77ed0] vfs_read at ffffffff812046c0
#11 [ffffc90000c77f08] ksys_read at ffffffff81204a7a
#12 [ffffc90000c77f40] do_syscall_64 at ffffffff81a17bbd
#13 [ffffc90000c77f50] entry_SYSCALL_64_after_hwframe at ffffffff81c00099`

To debug further, I dumped all sections from vmlinux (gdb> maintenance info sections, info files). Address range 0xffffc9xxxxxxxxxx is missing there.

gdb usage has become very limited in this case. I am yet to figure out the missing piece. If anyone has encountered similar issue in the past & have any pointer, please share with me.

Thanks in advance.

In an attempt to debug a kernel crash (x86_64) using gdb 10.2, I expected the to see the complete backtrace with relevant information. However gdb fails to access kernel memory, appears to be in vmalloc range.

New contributor

SanjibDas is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

Theme wordpress giá rẻ Theme wordpress giá rẻ Thiết kế website

LEAVE A COMMENT