diff options
author | NeilBrown <neilb@suse.de> | 2015-06-25 17:06:40 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2015-06-25 17:14:09 +1000 |
commit | 9a8c0fa861e4db60409b4dda254cef5e17e4d43c (patch) | |
tree | 9b812ff7b225fa4eb1376f57c253225fb9a1327e /drivers | |
parent | bd6919228d7e1867ae9e24ab27e3e4a366c87d21 (diff) | |
download | linux-9a8c0fa861e4db60409b4dda254cef5e17e4d43c.tar.gz linux-9a8c0fa861e4db60409b4dda254cef5e17e4d43c.tar.bz2 linux-9a8c0fa861e4db60409b4dda254cef5e17e4d43c.zip |
md: unlock mddev_lock on an error path.
This error path retuns while still holding the lock - bad.
Fixes: 6791875e2e53 ("md: make reconfig_mutex optional for writes to md sysfs files.")
Cc: stable@vger.kernel.org (v4.0+)
Signed-off-by: NeilBrown <neilb@suse.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/md/md.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 939739f0f881..5fcce7371ee9 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -4014,8 +4014,10 @@ new_dev_store(struct mddev *mddev, const char *buf, size_t len) else rdev = md_import_device(dev, -1, -1); - if (IS_ERR(rdev)) + if (IS_ERR(rdev)) { + mddev_unlock(mddev); return PTR_ERR(rdev); + } err = bind_rdev_to_array(rdev, mddev); out: if (err) |