On Sun, Oct 09, 2022 at 11:14:05AM +0800, Chen Zhongjin wrote: > Hi Josh, > > On 2022/8/5 6:06, Josh Poimboeuf wrote: > > On Thu, Aug 04, 2022 at 03:27:39PM +0800, Chen Zhongjin wrote: > > > I believe disassemble show_stack in vmlinux and if we have: > > > > > > push %rbp > > > > > > mov %rsp,%rbp > > > > > > ... (no regs pushed to stack) > > > > > > callq <show_trace_log_lvl> > > > > > > This can be reproduced. > > Weird, that's what I have. This is GCC 12.1. > > > > ffffffff81056de0 <show_stack>: > > ffffffff81056de0: e8 0b 43 05 00 call ffffffff810ab0f0 <__fentry__> > > ffffffff81056de5: 55 push %rbp > > ffffffff81056de6: 48 83 05 b2 0f c9 02 01 addq $0x1,0x2c90fb2(%rip) # ffffffff83ce7da0 <__gcov0.show_stack> > > ffffffff81056dee: 48 89 e5 mov %rsp,%rbp > > ffffffff81056df1: 48 85 ff test %rdi,%rdi > > ffffffff81056df4: 74 41 je ffffffff81056e37 <show_stack+0x57> > > ffffffff81056df6: 48 85 f6 test %rsi,%rsi > > ffffffff81056df9: 0f 85 c2 24 15 01 jne ffffffff821a92c1 <show_stack.cold+0xd> > > ffffffff81056dff: 65 48 8b 04 25 c0 bd 01 00 mov %gs:0x1bdc0,%rax > > ffffffff81056e08: 48 39 c7 cmp %rax,%rdi > > ffffffff81056e0b: 0f 85 a3 24 15 01 jne ffffffff821a92b4 <show_stack.cold> > > ffffffff81056e11: 48 83 05 af 0f c9 02 01 addq $0x1,0x2c90faf(%rip) # ffffffff83ce7dc8 <__gcov0.show_stack+0x28> > > ffffffff81056e19: 48 89 ee mov %rbp,%rsi > > ffffffff81056e1c: 48 89 d1 mov %rdx,%rcx > > ffffffff81056e1f: 48 89 f2 mov %rsi,%rdx > > ffffffff81056e22: 31 f6 xor %esi,%esi > > ffffffff81056e24: e8 8e 20 15 01 call ffffffff821a8eb7 <show_trace_log_lvl> > > ffffffff81056e29: 48 83 05 9f 0f c9 02 01 addq $0x1,0x2c90f9f(%rip) # ffffffff83ce7dd0 <__gcov0.show_stack+0x30> > > ffffffff81056e31: 5d pop %rbp > > ffffffff81056e32: e9 49 b2 5a 01 jmp ffffffff82602080 <__x86_return_thunk> > > ffffffff81056e37: 48 83 05 69 0f c9 02 01 addq $0x1,0x2c90f69(%rip) # ffffffff83ce7da8 <__gcov0.show_stack+0x8> > > ffffffff81056e3f: 65 48 8b 3c 25 c0 bd 01 00 mov %gs:0x1bdc0,%rdi > > ffffffff81056e48: eb ac jmp ffffffff81056df6 <show_stack+0x16> > > ffffffff81056e4a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) > > This problem still exist on my machine: > > CONFIG: defconfig + CONFIG_GCOV_PROFILE_ALL > > GCC: gcc 7.5.0 & 12.1.0 > > TRIGGER: > > # echo l > /proc/sysrq-trigger Hi Chen, Thanks for your patience. I'm able to recreate now. I still have no idea why I couldn't recreate before. Anyway the patch looks good. I'll run it through some more testing. -- Josh