Re: [syzbot] WARNING in register_shrinker_prepared

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

 



On Mon, Jun 06, 2022 at 12:23:02PM -0700, Andrew Morton wrote:
> (cc Roman)
> 
> On Mon, 06 Jun 2022 10:17:34 -0700 syzbot <syzbot+300d27c79fe6d4cbcc39@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> 
> > Hello,
> > 
> > syzbot found the following issue on:
> > 
> > HEAD commit:    1cfd968b58a1 Add linux-next specific files for 20220603
> > git tree:       linux-next
> > console+strace: https://syzkaller.appspot.com/x/log.txt?x=12f7b6b3f00000
> > kernel config:  https://syzkaller.appspot.com/x/.config?x=7da8386e3742814f
> > dashboard link: https://syzkaller.appspot.com/bug?extid=300d27c79fe6d4cbcc39
> > compiler:       gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
> > syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=103e5177f00000
> > C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=13545057f00000
> > 
> > IMPORTANT: if you fix the issue, please add the following tag to the commit:
> > Reported-by: syzbot+300d27c79fe6d4cbcc39@xxxxxxxxxxxxxxxxxxxxxxxxx
> > 
> > loop0: detected capacity change from 0 to 20
> > ------------[ cut here ]------------
> > WARNING: CPU: 0 PID: 3694 at mm/vmscan.c:681 register_shrinker_prepared+0x119/0x150 mm/vmscan.c:681
> 
> That's
> 
> 	WARN_ON_ONCE(shrinker_debugfs_add(shrinker));
> 
> I assume that debugfs_create_dir() failed.  Please see the NOTE: in
> that function's kerneldoc.
> 

The call to ida_alloc() can fail too.

register_shrinker_prepared() is not allowed to fail; anything that can fail must
happen in prealloc_shrinker().  So either this new debugfs registration code
needs to be moved to prealloc_shrinker(), or errors from it need to be ignored
(which might be appropriate since it is just debugfs).

- Eric




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux