[PATCH] md: fix mddev_unlock() called without holding lock in lbs_store()

Jack Wang posted 1 patch 5 days, 13 hours ago
drivers/md/md.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
[PATCH] md: fix mddev_unlock() called without holding lock in lbs_store()
Posted by Jack Wang 5 days, 13 hours ago
From: Jack Wang <jinpu.wang@cloud.ionos.com>

lbs_store() jumped to the unlock label on mddev_lock() failure,
calling mddev_unlock() on a mutex that was never acquired. Return
directly instead.

Fixes: 62ed1b582246 ("md: allow configuring logical block size")
Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com>
---
 drivers/md/md.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/md/md.c b/drivers/md/md.c
index 680b34a63cb3..41fbe5d9961a 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -6048,11 +6048,10 @@ lbs_store(struct mddev *mddev, const char *buf, size_t len)
 
 	err = mddev_lock(mddev);
 	if (err)
-		goto unlock;
+		return err;
 
 	err = mddev_set_logical_block_size(mddev, lbs);
 
-unlock:
 	mddev_unlock(mddev);
 	return err ?: len;
 }
-- 
2.43.0