Re: [syzbot] [mm?] [input?] [usb?] INFO: rcu detected stall in brk (2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 1, 2024 at 12:11 PM Lorenzo Stoakes
<lorenzo.stoakes@xxxxxxxxxx> wrote:
>
> On Fri, Nov 01, 2024 at 12:02:25PM +0100, Aleksandr Nogikh wrote:
> > Hi Lorenzo,
> >
> > On Thu, Oct 31, 2024 at 5:59 PM 'Lorenzo Stoakes' via syzkaller-bugs
> > <syzkaller-bugs@xxxxxxxxxxxxxxxx> wrote:
> > >
> > > +Alan re: USB stalls
> > >
> > > On Thu, Oct 31, 2024 at 09:41:02AM -0700, syzbot wrote:
> > > > Hello,
> > > >
> > > > syzbot has tested the proposed patch and the reproducer did not trigger any issue:
> > > >
> > > > Reported-by: syzbot+7402e6c8042635c93ead@xxxxxxxxxxxxxxxxxxxxxxxxx
> > > > Tested-by: syzbot+7402e6c8042635c93ead@xxxxxxxxxxxxxxxxxxxxxxxxx
> > > >
> > > > Tested on:
> > > >
> > > > commit:         cffcc47b mm/mlock: set the correct prev on failure
> > > > git tree:       git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/ mm-hotfixes-unstable
> > > > console output: https://syzkaller.appspot.com/x/log.txt?x=1304a630580000
> > > > kernel config:  https://syzkaller.appspot.com/x/.config?x=6648774f7c39d413
> > > > dashboard link: https://syzkaller.appspot.com/bug?extid=7402e6c8042635c93ead
> > > > compiler:       gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
> > > >
> > > > Note: no patches were applied.
> > > > Note: testing is done by a robot and is best-effort only.
> > >
> > > OK this seems likely to be intermittant (and unrelated to what's in
> > > mm-unstable-fixes honestly) and does make me wonder if the fix referenced
> > > in [0] really has sorted things out? Or whether it has perhaps help
> > > mitigate the issue but not sufficiently in conjunction with debug things
> > > that slow things down.
> > >
> > > Because we keep getting these reports, that mysteriously don't occur if we
> > > re-run (or hit other code paths), they seem to hit somewhat arbitrary parts
> > > of mm, and because CONFIG_DEBUG_VM_MAPLE_TREE is set we spend a _long_ time
> > > in mm validating trees (this config option is REALLY REALLY heavy-handed).
> > >
> > > I note we also set CONFIG_KCOV and CONFIG_KCOV_INSTRUMENT_ALL which isn't
> > > going to make anything quicker if the USB gets laggy.
> >
> > These are necessary for coverage-guided fuzzing. Though when we find
> > and run reproducers, we don't actually set up /dev/kcov, so I guess
> > the impact of coverage callbacks here is not that significant here.
> > CONFIG_KASAN is likely slowing down things much more.
> >
> > >
> > > I'm not sure if there's a human who can help tweak the config for these
> > > hardware-centric tests at Google? At least tweaking the RCU stall time
> > > anyway?
> >
> > We currently set:
> >
> > CONFIG_RCU_CPU_STALL_TIMEOUT=100
> > CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=21000
> >
> > The expedited RCU timeout was limited to 21 seconds up to some time
> > ago, but I guess now we can safely increase this number as well. I'll
> > send a PR with syzbot config updates.
>
> Ah thanks, just sent a reply immediately prior to receiving this :)
>
> Maybe worth setting CONFIG_RCU_EXP_CPU_STALL_TIMEOUT to 0 so it matches the CPU
> stall timeout? At least for builds that also set heavy debug options like
> CONFIG_DEBUG_VM_MAPLE_TREE?

Oh, that's even simpler than I thought it would be, thank you!
I've sent https://github.com/google/syzkaller/pull/5455, it will come
into effect in a few days.

-- 
Aleksandr

>
> Cheers, Lorenzo
>
> >
> > --
> > Aleksandr
> >
> > >
> > > In any case this continues not to look likely to be an actual mm issue as
> > > far as I can see.
> > >
> > > In [0] we were stalled in a validate call which would align with the idea
> > > that perhaps we were just dealing with a very very big tree and getting
> > > slow down that way.
> > >
> > > Cheers, Lorenzo
> > >
> > > [0]:https://lore.kernel.org/all/967f3aa0-447a-4121-b80b-299c926a33f5@xxxxxxxxxxxxxxxxxxx/
> > >





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux