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

From: Stephen Rothwell
Date: Sat Apr 18 2020 - 03:51:36 EST


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

--
Cheers,
Stephen Rothwell

Attachment: pgpVCydNqUK6K.pgp
Description: OpenPGP digital signature