aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorYuanhan Liu <yuanhan.liu@linux.intel.com>2012-05-21 23:55:32 -0400
committerNeilBrown <neilb@suse.de>2012-05-21 23:55:32 -0400
commit0c098220e2320c1f0c9339d0ff05c5e04672133a (patch)
tree5dfe163da6707f93b5bbc77ccb0ec4ee98227591 /drivers/md/md.c
parent4f0a5e012cf41321d611e7cad63e1017d143d138 (diff)
md: check the return of mddev_find()
Check the return of mddev_find(), since it may fail due to out of memeory or out of usable minor number. The reason I chose -ENODEV instead of -ENOMEM or something else is md_alloc() function chose that ;) Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 4c9836885d3e..1c2f9048e1ae 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -6618,6 +6618,9 @@ static int md_open(struct block_device *bdev, fmode_t mode)
6618 struct mddev *mddev = mddev_find(bdev->bd_dev); 6618 struct mddev *mddev = mddev_find(bdev->bd_dev);
6619 int err; 6619 int err;
6620 6620
6621 if (!mddev)
6622 return -ENODEV;
6623
6621 if (mddev->gendisk != bdev->bd_disk) { 6624 if (mddev->gendisk != bdev->bd_disk) {
6622 /* we are racing with mddev_put which is discarding this 6625 /* we are racing with mddev_put which is discarding this
6623 * bd_disk. 6626 * bd_disk.