block: fix module reference leakage from bdev_open_by_dev error path
BugLink: https://bugs.launchpad.net/bugs/2070337
[ Upstream commit 9617cd6f24b294552a817f80f5225431ef67b540 ]
At the time bdev_may_open() is called, module reference is grabbed
already, hence module reference should be released if bdev_may_open()
failed.
This problem is found by code review.
Fixes: ed5cc702d3 ("block: Add config option to not allow writing to mounted devices")
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Link: https://lore.kernel.org/r/20240406090930.2252838-22-yukuai1@huaweicloud.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Manuel Diewald <manuel.diewald@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
+1
-1
@@ -873,7 +873,7 @@ struct bdev_handle *bdev_open_by_dev(dev_t dev, blk_mode_t mode, void *holder,
|
||||
goto abort_claiming;
|
||||
ret = -EBUSY;
|
||||
if (!bdev_may_open(bdev, mode))
|
||||
goto abort_claiming;
|
||||
goto put_module;
|
||||
if (bdev_is_partition(bdev))
|
||||
ret = blkdev_get_part(bdev, mode);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user