Linux kernel 调试内核死机

Linux kernel 调试内核死机,linux-kernel,Linux Kernel,在我将内核从3.18.19升级到3.18.140之后。我对内核有一些问题,而且我是调试新手,希望了解一些内核方面的知识 Full crash log :https://del.dog/karnak_kmsg 如果有人愿意帮我找到答案,我将不胜感激。我花了几天时间才发现这个奇怪的问题 内核源: 因此,当我在内核上的vmlinux上执行objdump时,它没有告诉我它在内核上的哪个文件。此外,编译器驱动程序似乎也受到了污染。 这就是我在这里得到的 [ 118.822910] <0>

在我将内核从3.18.19升级到3.18.140之后。我对内核有一些问题,而且我是调试新手,希望了解一些内核方面的知识

Full crash log :https://del.dog/karnak_kmsg
如果有人愿意帮我找到答案,我将不胜感激。我花了几天时间才发现这个奇怪的问题

内核源:

因此,当我在内核上的vmlinux上执行objdump时,它没有告诉我它在内核上的哪个文件。此外,编译器驱动程序似乎也受到了污染。 这就是我在这里得到的

[  118.822910] <0> (0)[3176:Compiler driver]CPU: 0 PID: 3176 Comm: Compiler driver Tainted: G      D        3.18.140-KFHD8-XTREME #1
[  118.822920] <0> (0)[3176:Compiler driver]Hardware name: MT8163 (DT)
[  118.822929] <0> (0)[3176:Compiler driver][name:traps&]Call trace:
[  118.822944] <0> (0)[3176:Compiler driver][<ffffffc00008adc0>] dump_backtrace+0x0/0x15c
[  118.822956] <0> (0)[3176:Compiler driver][<ffffffc00008af30>] show_stack+0x14/0x1c
[  118.822968] <0> (0)[3176:Compiler driver][<ffffffc000abab30>] dump_stack+0x88/0xac
[  118.822980] <0> (0)[3176:Compiler driver][<ffffffc000093e0c>] handle_IPI+0x18c/0x2bc
[  118.822991] <0> (0)[3176:Compiler driver][<ffffffc000082468>] gic_handle_irq+0x80/0x84
[  118.823001] <0> (0)[3176:Compiler driver]Exception stack(0xffffffc0220d7eb0 to 0xffffffc0220d7fd0)
[  118.823013] <0> (0)[3176:Compiler driver]7ea0:                                     00400000 00000000 00000000 00000000
[  118.823026] <0> (0)[3176:Compiler driver]7ec0: ffffffff ffffffff f71681fe 00000000 f257e5b0 00000000 00000013 00000000
[  118.823039] <0> (0)[3176:Compiler driver]7ee0: 00000059 00000000 00000008 00000000 00000001 00000000 00000000 00000000
[  118.823051] <0> (0)[3176:Compiler driver]7f00: 0000000b 00000000 00000004 00000000 f257e5b0 00000000 f1cae0a0 00000000
[  118.823064] <0> (0)[3176:Compiler driver]7f20: 00000002 00000000 0000033c 00000000 00000001 00000000 f257e4d0 00000000
[  118.823076] <0> (0)[3176:Compiler driver]7f40: 0000000a 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  118.823088] <0> (0)[3176:Compiler driver]7f60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  118.823100] <0> (0)[3176:Compiler driver]7f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  118.823112] <0> (0)[3176:Compiler driver]7fa0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  118.823123] <0> (0)[3176:Compiler driver]7fc0: 00000000 00000000 00000000 00000000
[118.822910](0)[3176:编译器驱动程序]CPU:0 PID:3176通信:编译器驱动程序受污染:G D 3.18.140-KFHD8-XTREME#1
[118.822920](0)[3176:编译器驱动程序]硬件名称:MT8163(DT)
[118.822929](0)[3176:编译器驱动程序][名称:陷阱和]调用跟踪:
[118.822944](0)[3176:编译器驱动程序][]转储\u回溯+0x0/0x15c
[118.822956](0)[3176:编译器驱动程序][]显示堆栈+0x14/0x1c
[118.822968](0)[3176:编译器驱动程序][]转储\u堆栈+0x88/0xac
[118.822980](0)[3176:编译器驱动程序][]句柄\u IPI+0x18c/0x2bc
[118.822991](0)[3176:编译器驱动程序][]gic_handle_irq+0x80/0x84
[118.823001](0)[3176:编译器驱动程序]异常堆栈(0xFFFFC0220D7EB0到0xffffffc0220d7fd0)
[118.823013](0)[3176:编译器驱动程序]7ea0:00400000 00000000
[118.823026](0)[3176:编译器驱动程序]7ec0:fffffffffffff71681fe 00000000 f257e5b0 00000000 00000000 13 00000000
[118.823039](0)[3176:编译器驱动程序]7ee0:000000 59 00000000 0000000 8 00000000 0000000 1 00000000 00000000 00000000
[118.823051](0)[3176:编译器驱动程序]7f00:0000000 B 00000000 0000000 4 00000000 F257E5B000000000 F1CAE0A000000000
[118.823064](0)[3176:编译器驱动程序]7f20:0000000 2 00000000 00000 33C 00000000 0000000 1 00000000 f257e4d0 00000000
[118.823076](0)[3176:编译器驱动程序]7f40:0000000 A 00000000 00000000 00000000 00000000 00000000 00000000
[118.823088](0)[3176:编译器驱动程序]7f60:00000000 00000000 00000000 00000000 00000000
[118.823100](0)[3176:编译器驱动程序]7f80:00000000 00000000 00000000 00000000 00000000 00000000
[118.823112](0)[3176:编译器驱动程序]7fa0:00000000 00000000 00000000 00000000 00000000 00000000
[118.823123](0)[3176:编译器驱动程序]7fc0:00000000 00000000 00000000

我还用新的长日志而不是短日志编辑了OP。我想尽快修复这个内核,谢谢

代码中的内存访问无效。基于转储,您传递了无效指针并尝试执行“strlen”

如果不知道整个调用路径以及您所更改的内容,则无法告诉您错误所在。

strnlen()
使用错误指针调用或页面大小边界上缺少NUL终止符会引发页面错误。