[PATCH] bcache: Fix NULL pointer dereference in bch_cached_dev_run

From: Kunwu Chan
Date: Mon Dec 11 2023 - 03:25:44 EST


kasprintf() returns a pointer to dynamically allocated memory
which can be NULL upon failure.

Cc: Kunwu Chan <kunwu.chan@xxxxxxxxxxx>
Signed-off-by: Kunwu Chan <chentao@xxxxxxxxxx>
---
drivers/md/bcache/super.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 1402096b8076..40b657887d3b 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -1053,6 +1053,12 @@ int bch_cached_dev_run(struct cached_dev *dc)
NULL,
};

+ if (!env[1] || !env[2]) {
+ pr_err("Couldn't create bcache dev <-> fail to allocate memory\n");
+ ret = -ENOMEM;
+ goto out;
+ }
+
if (dc->io_disable) {
pr_err("I/O disabled on cached dev %pg\n", dc->bdev);
ret = -EIO;
--
2.39.2