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