Message ID | 20210927215958.1062466-6-mcgrof@kernel.org (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | Mike Snitzer |
Headers | show |
Series | block: first batch of add_disk() error handling conversions | expand |
On 9/27/21 3:59 PM, Luis Chamberlain wrote: > We never checked for errors on add_disk() as this function > returned void. Now that this is fixed, use the shiny new > error handling. Applied, thanks.
diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 7bf4686af774..00ee365ed5e0 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -2394,13 +2394,19 @@ static int loop_add(int i) disk->event_flags = DISK_EVENT_FLAG_UEVENT; sprintf(disk->disk_name, "loop%d", i); /* Make this loop device reachable from pathname. */ - add_disk(disk); + err = add_disk(disk); + if (err) + goto out_cleanup_disk; + /* Show this loop device. */ mutex_lock(&loop_ctl_mutex); lo->idr_visible = true; mutex_unlock(&loop_ctl_mutex); + return i; +out_cleanup_disk: + blk_cleanup_disk(disk); out_cleanup_tags: blk_mq_free_tag_set(&lo->tag_set); out_free_idr: