401 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

[OLK-5.10] sw64: 实现show_stack方法

已完成
任务 成员
创建于  
2022-07-11 11:25

实现show_stack方法
【环境信息】 软件信息: 1)4.19内核 【问题复现步骤】 1)修改show_stack实现 【预期结果】 根据fp和sp进行栈回溯 【实际结果】

触发panic,die_of_kernel调用show_stack结果: 1.有fp打印:

Trace:
[] walk_stackframe+0x0/0x140
[] show_stack+0x5c/0x7c
[] die_if_kernel.part.0+0xcc/0x180
[] die_if_kernel+0x44/0x50
[] do_page_fault+0x5f8/0x660
[] ret_from_sys_call+0x0/0x18
[] __handle_sysrq+0xc0/0x230
[] write_sysrq_trigger+0x54/0x80
[] proc_reg_write+0x80/0x140
[] __vfs_write+0x3c/0x200
[] vfs_write+0xf0/0x220
[] ksys_write+0x88/0x140
[] sys_write+0x28/0x50
[] entSys+0xbc/0xd0
2.没有fp,使用sp打印:

Trace:
[] walk_stackframe+0x0/0x110
[] show_stack+0x50/0x6c
[] die_if_kernel.part.0+0xc0/0x180
[] die_if_kernel+0x30/0x40
[] do_page_fault+0x5e4/0x650
[] entSys+0xcc/0xd0
[] vprintk_func+0x104/0x220
[] serial8250_put_poll_char+0x10c/0x110
[] __handle_sysrq+0xb4/0x220
[] ptm_open_peer+0x1ac/0x1b0
[] sysrq_handle_crash+0x18/0x30
[] write_sysrq_trigger+0x48/0x70
[] proc_reg_write+0x74/0x120
[] __vfs_write+0x30/0x1e0
[] vfs_write+0xe4/0x210
[] f_dupfd+0xa0/0x120
[] ksys_dup3+0xb0/0x1e0
[] rw_verify_area+0x50/0x130
[] vfs_write+0x1f4/0x210
[] ksys_write+0x7c/0x130
[] entSys+0xb8/0xd0
【解决过程】 修改并复用stacktrace.c中的函数,使所有有关内核追栈的功能能够统一调用一个接口.

评论 (1)

guzitao 创建了任务

Hi guzitao, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers: @YangYingliang , @pi3orama , @成坚 (CHENG Jian) , @jiaoff , @zhengzengkai , @Qiuuuuu , @刘勇强 , @Xie XiuQi

openeuler-ci-bot 添加了
 
sig/Kernel
标签
zhengzengkai 通过src-openeuler/kernel Pull Request !687任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
5329419 openeuler ci bot 1632792936
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel

搜索帮助