[PATCH] soc: fsl: qbman: fix null pointer dereference
From: Alyssa Ross
Date: Sun Oct 22 2023 - 07:16:11 EST
When called from bman_test_api(), bm_bpalloc may not have been
initialized by fsl_bman_probe(), in which case gen_pool_alloc() would
attempt to dereference a NULL pointer.
Checking that bm_bpalloc is non-NULL allows boot to continue is this
case.
Fixes: 97e0d385b139 ("soc/bman: Add self-test for BMan driver")
Signed-off-by: Alyssa Ross <hi@xxxxxxxxx>
---
drivers/soc/fsl/qbman/bman.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/soc/fsl/qbman/bman.c b/drivers/soc/fsl/qbman/bman.c
index 6cc1847e534a..713a0508678e 100644
--- a/drivers/soc/fsl/qbman/bman.c
+++ b/drivers/soc/fsl/qbman/bman.c
@@ -669,6 +669,9 @@ static int bm_alloc_bpid_range(u32 *result, u32 count)
{
unsigned long addr;
+ if (!bm_bpalloc)
+ return -ENXIO;
+
addr = gen_pool_alloc(bm_bpalloc, count);
if (!addr)
return -ENOMEM;
base-commit: 58720809f52779dc0f08e53e54b014209d13eebb
--
2.42.0