[PATCH] md: fix mddev_unlock() called without holding lock in lbs_store()
From: Jack Wang
Date: Sun Sep 20 2026 - 06:37:48 EST
From: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxx>
---
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