[PATCH v2] md/md-multipath: guard against a possible NULL dereference
From: Daniil Tatianin
Date: Fri Apr 21 2023 - 02:22:07 EST
mempool_alloc might fail to allocate a slot, in which case we will end
up dereferencing a NULL mp_bh pointer.
Found by Linux Verification Center (linuxtesting.org) with the SVACE
static analysis tool.
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Daniil Tatianin <d-tatianin@xxxxxxxxxxxxxx>
---
Changes since v1: fixed a typo
---
drivers/md/md-multipath.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/md/md-multipath.c b/drivers/md/md-multipath.c
index 66edf5e72bd6..8dfa353440e5 100644
--- a/drivers/md/md-multipath.c
+++ b/drivers/md/md-multipath.c
@@ -108,6 +108,8 @@ static bool multipath_make_request(struct mddev *mddev, struct bio * bio)
return true;
mp_bh = mempool_alloc(&conf->pool, GFP_NOIO);
+ if (!mp_bh)
+ return false;
mp_bh->master_bio = bio;
mp_bh->mddev = mddev;
--
2.25.1