On Sun, Oct 11, 2020 at 04:53:22PM +0200, Hannes Reinecke wrote: > On 10/11/20 3:03 PM, Rustam Kovhaev wrote: > > syzbot triggered a warning while fuzzing with failslab fault injection > > enabled > > let's convert WARN_ON() to pr_warn() > > > > Reported-and-tested-by: syzbot+f41893bb8c45cd18cf08@xxxxxxxxxxxxxxxxxxxxxxxxx > > Link: https://syzkaller.appspot.com/bug?extid=f41893bb8c45cd18cf08 > > Signed-off-by: Rustam Kovhaev <rkovhaev@xxxxxxxxx> > > --- > > block/genhd.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/block/genhd.c b/block/genhd.c > > index 99c64641c314..be9ce35cf0fe 100644 > > --- a/block/genhd.c > > +++ b/block/genhd.c > > @@ -822,7 +822,8 @@ static void __device_add_disk(struct device *parent, struct gendisk *disk, > > /* Register BDI before referencing it from bdev */ > > dev->devt = devt; > > ret = bdi_register(bdi, "%u:%u", MAJOR(devt), MINOR(devt)); > > - WARN_ON(ret); > > + if (ret) > > + pr_warn("%s: failed to register backing dev info\n", disk->disk_name); > > bdi_set_owner(bdi, dev); > > blk_register_region(disk_devt(disk), disk->minors, NULL, > > exact_match, exact_lock, disk); > > > Please, don't. Where is the point in continuing here? > I'd rather have it fixed up properly, either by having a return value to > __device_add_disk() or by allowing the caller to check (eg by checking > GENHD_FL_UP) if the call succeeded. thank you for the review, it makes sense.