Re: linux-next test error: BUG: using __this_cpu_read() in preemptible code in __mod_memcg_state

From: Dmitry Vyukov
Date: Sat Apr 18 2020 - 04:03:12 EST


On Sat, Apr 18, 2020 at 9:51 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi Stephen,
>
> On Sat, 18 Apr 2020 17:43:53 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > Hi Dmitry,
> >
> > On Sat, 18 Apr 2020 09:04:38 +0200 Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
> > >
> > > On Mon, Mar 9, 2020 at 2:27 PM Alex Shi <alex.shi@xxxxxxxxxxxxxxxxx> wrote:
> > > > å 2020/3/9 äå5:56, Alex Shi åé:
> > > > >
> > > > >
> > > > > å 2020/3/9 äå5:24, Kirill A. Shutemov åé:
> > > > >>> check_preemption_disabled: 3 callbacks suppressed
> > > > >>> BUG: using __this_cpu_read() in preemptible [00000000] code: syz-fuzzer/9432
> > > > >>> caller is __mod_memcg_state+0x27/0x1a0 mm/memcontrol.c:689
> > > > >>> CPU: 1 PID: 9432 Comm: syz-fuzzer Not tainted 5.6.0-rc4-next-20200306-syzkaller #0
> > > > >>> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
> > > > >>> Call Trace:
> > > > >>> __dump_stack lib/dump_stack.c:77 [inline]
> > > > >>> dump_stack+0x188/0x20d lib/dump_stack.c:118
> > > > >>> check_preemption_disabled lib/smp_processor_id.c:47 [inline]
> > > > >>> __this_cpu_preempt_check.cold+0x84/0x90 lib/smp_processor_id.c:64
> > > > >>> __mod_memcg_state+0x27/0x1a0 mm/memcontrol.c:689
> > > > >>> __split_huge_page mm/huge_memory.c:2575 [inline]
> > > > >>> split_huge_page_to_list+0x124b/0x3380 mm/huge_memory.c:2862
> > > > >>> split_huge_page include/linux/huge_mm.h:167 [inline]
> > > > >> It looks like a regression due to c8cba0cc2a80 ("mm/thp: narrow lru
> > > > >> locking").
> > > > >
> > > > > yes, I guess so.
> > > >
> > > > Yes, it is a stupid mistake to pull out lock for __mod_memcg_state which
> > > > should be in a lock.
> > > >
> > > > revert this patch should be all fine, since ClearPageCompound and page_ref_inc
> > > > later may related with lru_list valid issue in release_pges.
> > > >
> > > >
> > > > Sorry for the disaster!
> > > >
> > > > Alex
> > >
> > > +linux-next, Stephen for currently open linux-next build/boot failure
> > >
> > > Hi Alex,
> > >
> > > What's the status of this? Was the guilty patch reverted? If so,
> > > please mark it as invalid for syzbot, otherwise it still shows up as
> > > open bug.
> >
> > The patch was removed from Andrew's tree in March and never made it to
> > Linus' tree. I can't find how to tell syzbot that the patch went away ...
>
> Lets try:
>
> #syz invalid

This is correct, thanks!

You may now see "Status: closed as invalid on 2020/04/18 07:51" at:
https://syzkaller.appspot.com/bug?extid=826543256ed3b8c37f62

It does not show up as "open" and if this will happen again syzbot
will report it (rather than assume it's still the old bug happening).