linux操作系统crash日志分析1

PID: 3311   TASK: ffff880137798000  CPU: 0   COMMAND: "yyyyyy"
 #0 [ffff88013a603d18] machine_kexec at ffffffff81047b02
 #1 [ffff88013a603d68] crash_kexec at ffffffff810d0f33
 #2 [ffff88013a603e30] panic at ffffffff81640209
 #3 [ffff88013a603ea8] watchdog_timer_fn at ffffffff810f51c5
 #4 [ffff88013a603ed8] __run_hrtimer at ffffffff8108bc73
 #5 [ffff88013a603f18] hrtimer_interrupt at ffffffff8108c487
 #6 [ffff88013a603f80] local_apic_timer_interrupt at ffffffff81040a67
 #7 [ffff88013a603f98] smp_apic_timer_interrupt at ffffffff8165563f
 #8 [ffff88013a603fb0] apic_timer_interrupt at ffffffff81653fdd
--- <IRQ stack> ---
 #9 [ffff88011a039a08] apic_timer_interrupt at ffffffff81653fdd
    [exception RIP: lg_local_lock+50]
    RIP: ffffffff81090712  RSP: ffff88011a039ab8  RFLAGS: 00000297
    RAX: 0000000000000070  RBX: 00007fffa0c577ce  RCX: 0000000000000071
    RDX: ffff88013a6105f4  RSI: ffff880137832010  RDI: ffffffff81c670d0
    RBP: ffff88011a039ab8   R8: 0000000000017000   R9: ffff880137832000
    R10: ffff880137832010  R11: 0000000000000007  R12: 00007fffa0c587ce
    R13: 0000000000000000  R14: 000000160133654c  R15: 0000000000000010
    ORIG_RAX: ffffffffffffff10  CS: 0010  SS: 0018
#10 [ffff88011a039ac0] d_path at ffffffff811bdec2                
#11 [ffff88011a039b00] uuu_file_path at ffffffffa03b3f10 [xxxxx]
#12 [ffff88011a039b10] ddd_task_path at ffffffffa03b3f8f [xxxxx]
#13 [ffff88011a039b48] default_dir_get_obj at ffffffffa03c27d8 [xxxxx]
#14 [ffff88011a039ba0] bfx_dir_logic at ffffffffa03c3931 [xxxxx]
#15 [ffff88011a039bf0] my_security_inode_permission at ffffffffa03be1cf [xxxxx]
#16 [ffff88011a039c28] __inode_permission at ffffffff811b43ac
#17 [ffff88011a039c48] inode_permission at ffffffff811b4428
#18 [ffff88011a039c58] link_path_walk at ffffffff811b4974  
#19 [ffff88011a039cf8] path_openat at ffffffff811b818c
#20 [ffff88011a039d98] do_filp_open at ffffffff811b8e4a
#21 [ffff88011a039e60] open_exec at ffffffff811af633
#22 [ffff88011a039ea8] do_execve_common at ffffffff811b03b0
#23 [ffff88011a039f28] sys_execve at ffffffff811b0b26
#24 [ffff88011a039f50] stub_execve at ffffffff81653989
    RIP: 00000030d02bcdc7  RSP: 00007fffa0c53388  RFLAGS: 00000246
    RAX: 000000000000003b  RBX: 0000000000000028  RCX: ffffffffffffffff
    RDX: 00007fffa0c562f8  RSI: 00007fffa0c533c0  RDI: 00000030d037906c
    RBP: 0000000000000004   R8: 00007fffa0c533d8   R9: 0000000000000000
    R10: 00007fba2b8fea10  R11: 0000000000000246  R12: 0000000000000003
    R13: 00000030d037906c  R14: 00007fffa0c533c0  R15: 00007fffa0c533c0
    ORIG_RAX: 000000000000003b  CS: 0033  SS: 002b
 

 

分析:

 1.在这个path_openat里面的path_init-->lock_rcu_walk()加锁;

2.然后接下来调用该函数调用may_lookup-->inode_permision;

3.被my_security_inode_permission函数做了自己的逻辑处理;

4.myhook函数调用d_path会再次调用lock_rcu_walk()加锁,但该锁不可重入,导致crash。

 

 

备注:内核版本3.11.10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

danielliu861

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值