lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 14 Oct 2022 15:44:53 -0700
From:   Josh Poimboeuf <jpoimboe@...nel.org>
To:     Chen Zhongjin <chenzhongjin@...wei.com>
Cc:     linux-kernel@...r.kernel.org, x86@...nel.org,
        linux-arch@...r.kernel.org, peterz@...radead.org,
        tglx@...utronix.de, mingo@...hat.com, bp@...en8.de,
        dave.hansen@...ux.intel.com, hpa@...or.com, mbenes@...e.cz
Subject: Re: [PATCH] Revert "x86/unwind/orc: Don't skip the first frame for
 inactive tasks"

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ