Message ID | 20201011130347.562264-1-rkovhaev@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block: switch to pr_warn() in __device_add_disk() | expand |
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@syzkaller.appspotmail.com > Link: https://syzkaller.appspot.com/bug?extid=f41893bb8c45cd18cf08 > Signed-off-by: Rustam Kovhaev <rkovhaev@gmail.com> > --- > 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. Cheers, Hannes
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@syzkaller.appspotmail.com > > Link: https://syzkaller.appspot.com/bug?extid=f41893bb8c45cd18cf08 > > Signed-off-by: Rustam Kovhaev <rkovhaev@gmail.com> > > --- > > 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.
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);
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@syzkaller.appspotmail.com Link: https://syzkaller.appspot.com/bug?extid=f41893bb8c45cd18cf08 Signed-off-by: Rustam Kovhaev <rkovhaev@gmail.com> --- block/genhd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)