Re: [syzbot] BUG: soft lockup in do_wp_page (4)

From: Dmitry Vyukov
Date: Thu Mar 25 2021 - 14:35:55 EST


On Thu, Mar 25, 2021 at 7:20 PM Will Deacon <will@xxxxxxxxxx> wrote:
>
> On Thu, Mar 18, 2021 at 08:34:16PM +0100, Dmitry Vyukov wrote:
> > On Thu, Mar 18, 2021 at 8:31 PM syzbot
> > <syzbot+0b036374a865ba0efa8e@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > Hello,
> > >
> > > syzbot found the following issue on:
> > >
> > > HEAD commit: bf152b0b Merge tag 'for_linus' of git://git.kernel.org/pub..
> > > git tree: upstream
> > > console output: https://syzkaller.appspot.com/x/log.txt?x=17d5264ed00000
> > > kernel config: https://syzkaller.appspot.com/x/.config?x=2c9917c41f0bc04b
> > > dashboard link: https://syzkaller.appspot.com/bug?extid=0b036374a865ba0efa8e
> > > userspace arch: arm64
> > >
> > > 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+0b036374a865ba0efa8e@xxxxxxxxxxxxxxxxxxxxxxxxx
> > >
> > > watchdog: BUG: soft lockup - CPU#0 stuck for 23s! [syz-executor.1:3684]
> >
> > +Will, arm
> >
> > If I am reading this commit correctly, this is caused by:
> >
> > commit cae118b6acc309539b33339e846cbb19187c164c
> > Author: Will Deacon
> > Date: Wed Mar 3 13:49:27 2021 +0000
> > arm64: Drop support for CMDLINE_EXTEND
> >
> > syzbot passes lots of critical things in CONFIG_CMDLINE:
> > https://github.com/google/syzkaller/blob/c3c81c94865791469d376eba84f4a2d7763d3f71/dashboard/config/linux/upstream-arm64-kasan.config#L495
> > but also wants the bootloader args to be appended.
> > What is the way to do it now?
>
> For now, there isn't a way to do it with CONFIG_CMDLINE, so I think you can
> either:
>
> * Revert my patch for your kernels
> * Pass the arguments via QEMU's -append option
> * Take a look at one of the series which should hopefully add this
> functionality back (but with well-defined semantics) [1] [2]

Unfortunately none of these work for syzbot (and I assume other
testing environments).

syzbot does not support custom patches by design:
http://bit.do/syzbot#no-custom-patches
As any testing system, it tests the official trees.

It's not humans who start these VMs, so it's not as easy as changing
the command line after typing...
There is no support for passing args specifically to qemu, syzkaller
support not just qemu, so these things are specifically localized in
the config. Additionally there is an issue of communicating all these
scattered details to developers in bug reports. Currently syzbot
reports the kernel config and it as well captures command line.

Could you revert the patch? Is there any point in removing the
currently supported feature before the new feature lands?



> Sorry for the nuisance; I did try to fix this [3] but it's a bit of a
> mess.
>
> Will
>
> [1] https://lore.kernel.org/linux-arch/cover.1614705851.git.christophe.leroy@xxxxxxxxxx/
> [2] https://lore.kernel.org/linux-mips/20210308235319.2988609-2-danielwa@xxxxxxxxx/#t
> [3] https://lore.kernel.org/r/20210225125921.13147-1-will@xxxxxxxxxx