Re: [syzbot] WARNING in internal_create_group

From: Christoph Hellwig
Date: Wed Jul 21 2021 - 00:32:28 EST


On Wed, Jul 21, 2021 at 11:37:03AM +0800, Hillf Danton wrote:
> On Tue, 20 Jul 2021 11:53:27 -0700
> >syzbot has found a reproducer for the following issue on:
> >
> >HEAD commit: 8cae8cd89f05 seq_file: disallow extremely large seq buffer..
> >git tree: upstream
> >console output: https://syzkaller.appspot.com/x/log.txt?x=116f92ec300000
> >kernel config: https://syzkaller.appspot.com/x/.config?x=7273c75708b55890
> >dashboard link: https://syzkaller.appspot.com/bug?extid=9937dc42271cd87d4b98
> >syz repro: https://syzkaller.appspot.com/x/repro.syz?x=15fc287c300000
> >C reproducer: https://syzkaller.appspot.com/x/repro.c?x=178cbf6a300000

<snip>

> >WARNING: CPU: 0 PID: 8435 at fs/sysfs/group.c:116 internal_create_group+0x911/0xb20 fs/sysfs/group.c:116

<snip>

> The device_add(ddev) in register_disk() may fail but it proceeds to register
> block queue even at the failure ... this falls in the class of known issue
> given the comment line.
>
> * FIXME: error handling
> */
> static void __device_add_disk(struct device *parent, struct gendisk *disk,

Yes, Luis is working on actually fixing this - but it requires changes
to every single block driver. How does a cap on the seq_buf size
propagate here, though?