From: Vishnu Pratap Singh <vishnu.ps@samsung.com>
To: axboe@kernel.dk, akpm@linux-foundation.org,
linux-kernel@vger.kernel.org, jmoyer@redhat.com,
minchan@kernel.org, ngupta@vflare.org,
sergey.senozhatsky.work@gmail.com, davem@davemloft.net,
neilb@suse.com, ulf.hansson@linaro.org, tiwai@suse.de,
hare@suse.de, ming.lei@canonical.com, jarod@redhat.com,
viro@zeniv.linux.org.uk, tj@kernel.org, adrian.hunter@intel.com,
jonathanh@nvidia.com, grundler@chromium.org,
linux-ide@vger.kernel.org, linux-raid@vger.kernel.org,
linux-mmc@vger.kernel.org
Cc: cpgs@samsung.com, vishu13285@gmail.com, pintu.k@samsung.com,
rohit.kr@samsung.com, Vishnu Pratap Singh <vishnu.ps@samsung.com>
Subject: [PATCH 4/8] block/loop.c: handle add_disk() & blk_register_region() return value
Date: Fri, 06 Nov 2015 17:52:11 +0530 [thread overview]
Message-ID: <1446812535-10567-4-git-send-email-vishnu.ps@samsung.com> (raw)
In-Reply-To: <1446812535-10567-1-git-send-email-vishnu.ps@samsung.com>
This patch handles blk_register_region() & add_disk() return value.
Earlier these function doesn't handle error cases, now it is added,
so the callers of this function should also handle it.
Verfied on X86 based ubuntu machine.
This patch depends on [PATCH 1/8] block/genhd.c: Add error handling
Signed-off-by: Vishnu Pratap Singh <vishnu.ps@samsung.com>
---
drivers/block/loop.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 423f4ca..22e6fd0 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -1794,10 +1794,14 @@ static int loop_add(struct loop_device **l, int i)
disk->private_data = lo;
disk->queue = lo->lo_queue;
sprintf(disk->disk_name, "loop%d", i);
- add_disk(disk);
+ err = add_disk(disk);
+ if (err)
+ goto out_free_disk;
*l = lo;
return lo->lo_number;
+out_free_disk:
+ put_disk(disk);
out_free_queue:
blk_cleanup_queue(lo->lo_queue);
out_cleanup_tags:
@@ -1998,8 +2002,10 @@ static int __init loop_init(void)
goto misc_out;
}
- blk_register_region(MKDEV(LOOP_MAJOR, 0), range,
+ err = blk_register_region(MKDEV(LOOP_MAJOR, 0), range,
THIS_MODULE, loop_probe, NULL, NULL);
+ if (err)
+ goto out_blkdev;
/* pre-create number of devices given by config or max_loop */
mutex_lock(&loop_index_mutex);
@@ -2010,6 +2016,8 @@ static int __init loop_init(void)
printk(KERN_INFO "loop: module loaded\n");
return 0;
+out_blkdev:
+ unregister_blkdev(LOOP_MAJOR, "loop");
misc_out:
misc_deregister(&loop_misc);
return err;
--
1.9.1
next prev parent reply other threads:[~2015-11-06 12:22 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <437969438-9181-1-git-send-email-vishnu.ps@samsung.com>
2015-11-06 12:22 ` [PATCH 1/8] block/genhd.c: Add error handling Vishnu Pratap Singh
2015-11-06 12:22 ` [PATCH 2/8] mmc: handle add_disk() return value Vishnu Pratap Singh
2015-11-06 16:03 ` Ulf Hansson
2015-11-09 5:11 ` Vishnu Pratap Singh
2015-11-06 12:22 ` [PATCH 3/8] block/floppy.c: handle blk_register_region() " Vishnu Pratap Singh
2015-11-06 12:50 ` kbuild test robot
2015-11-09 23:44 ` Grant Grundler
2015-11-06 12:22 ` Vishnu Pratap Singh [this message]
2015-11-06 12:22 ` [PATCH 5/8] zram: handle add_disk() & " Vishnu Pratap Singh
2015-11-09 1:07 ` Sergey Senozhatsky
2015-11-06 12:22 ` [PATCH 6/8] md/md.c: handle " Vishnu Pratap Singh
2015-11-06 12:22 ` [PATCH 7/8] cdrom/gdrom.c: handle add_disk() " Vishnu Pratap Singh
2015-11-06 12:22 ` [PATCH 8/8] ide/ide-probe.c: handle blk_register_region() " Vishnu Pratap Singh
2015-11-10 3:33 ` [PATCH 1/8] block/genhd.c: Add error handling Al Viro
2015-11-10 3:40 ` Jens Axboe
2015-11-10 14:11 ` Jeff Moyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1446812535-10567-4-git-send-email-vishnu.ps@samsung.com \
--to=vishnu.ps@samsung.com \
--cc=adrian.hunter@intel.com \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=cpgs@samsung.com \
--cc=davem@davemloft.net \
--cc=grundler@chromium.org \
--cc=hare@suse.de \
--cc=jarod@redhat.com \
--cc=jmoyer@redhat.com \
--cc=jonathanh@nvidia.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=minchan@kernel.org \
--cc=ming.lei@canonical.com \
--cc=neilb@suse.com \
--cc=ngupta@vflare.org \
--cc=pintu.k@samsung.com \
--cc=rohit.kr@samsung.com \
--cc=sergey.senozhatsky.work@gmail.com \
--cc=tiwai@suse.de \
--cc=tj@kernel.org \
--cc=ulf.hansson@linaro.org \
--cc=viro@zeniv.linux.org.uk \
--cc=vishu13285@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).