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] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 14 Sep 2020 11:51:13 -0500
From:   Josh Poimboeuf <jpoimboe@...hat.com>
To:     Thomas Gleixner <tglx@...utronix.de>
Cc:     syzbot <syzbot+bc9dbf05dcc151e9b972@...kaller.appspotmail.com>,
        alexandre.chartre@...cle.com, bp@...en8.de, hpa@...or.com,
        linux-kernel@...r.kernel.org, luto@...nel.org, mingo@...hat.com,
        peterz@...radead.org, syzkaller-bugs@...glegroups.com,
        x86@...nel.org
Subject: Re: WARNING: can't access registers at
 asm_sysvec_call_function_single

On Mon, Sep 14, 2020 at 11:49:30AM -0500, Josh Poimboeuf wrote:
> On Sun, Sep 13, 2020 at 11:05:21PM +0200, Thomas Gleixner wrote:
> > On Tue, Sep 08 2020 at 13:16, syzbot wrote:
> > 
> > > Hello,
> > >
> > > syzbot found the following issue on:
> > >
> > > HEAD commit:    f4d51dff Linux 5.9-rc4
> > > git tree:       upstream
> > > console output: https://syzkaller.appspot.com/x/log.txt?x=1455d4f9900000
> > > kernel config:  https://syzkaller.appspot.com/x/.config?x=a9075b36a6ae26c9
> > > dashboard link: https://syzkaller.appspot.com/bug?extid=bc9dbf05dcc151e9b972
> > > compiler:       gcc (GCC) 10.1.0-syz 20200507
> > >
> > > Unfortunately, I don't have any reproducer for this issue yet.
> > >
> > > IMPORTANT: if you fix the issue, please add the following tag to the commit:
> > > Reported-by: syzbot+bc9dbf05dcc151e9b972@...kaller.appspotmail.com
> > >
> > > WARNING: can't access registers at asm_sysvec_call_function_single+0x12/0x20 arch/x86/include/asm/idtentry.h:589
> > 
> > That's the ORC unwinder complaining, but I have no idea why...
> 
> 0000000000000cd0 <asm_sysvec_call_function_single>:
>      cd0:	90                   	nop
>      cd1:	90                   	nop
>      cd2:	90                   	nop
>      cd3:	6a ff                	pushq  $0xffffffffffffffff
>      cd5:	e8 b6 03 00 00       	callq  1090 <error_entry>
>      cda:	48 89 e7             	mov    %rsp,%rdi
>      cdd:	e8 00 00 00 00       	callq  ce2 <asm_sysvec_call_function_single+0x12>
> 			cde: R_X86_64_PLT32	sysvec_call_function_single-0x4
>      ce2:	e9 69 04 00 00       	jmpq   1150 <error_return>
>      ce7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
>      cee:	00 00
> 
> This is a head scratcher.  The ORC data looks ok, at least when I build
> it on my system.  It's expecting to find pt_regs at the top of the stack
> after returning from sysvec_call_function_single().  But it can't
> dereference the regs for some reason.
> 
> So either it's a bug in ORC data or unwinder (not likely) or the stack
> pointer got corrupted somehow (also seems unlikely)...

The true bug may be revealed elsewhere on the stack... I probably need
to start enabling ORC stack dumps like I did for FP.

-- 
Josh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ