[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACT4Y+b_NJ5x=Xi=gtChTdnp94hdG2BZgFCN1KbHOasF_xduDQ@mail.gmail.com>
Date: Tue, 15 Sep 2020 06:27:25 +0200
From: Dmitry Vyukov <dvyukov@...gle.com>
To: Josh Poimboeuf <jpoimboe@...hat.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
syzbot <syzbot+bc9dbf05dcc151e9b972@...kaller.appspotmail.com>,
alexandre.chartre@...cle.com, Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>,
LKML <linux-kernel@...r.kernel.org>,
Andy Lutomirski <luto@...nel.org>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
syzkaller-bugs <syzkaller-bugs@...glegroups.com>,
"the arch/x86 maintainers" <x86@...nel.org>
Subject: Re: WARNING: can't access registers at asm_sysvec_call_function_single
On Mon, Sep 14, 2020 at 6:51 PM Josh Poimboeuf <jpoimboe@...hat.com> 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.
Hi Josh,
Is there a config for this? We could enable it on syzbot. More
informative kernel diagnostics are always better.
Powered by blists - more mailing lists