[PATCH] RDMA/hfi: add a judgment on the availability of cpumask

From: xiaolinkui
Date: Mon Apr 03 2023 - 23:37:17 EST


From: Linkui Xiao <xiaolinkui@xxxxxxxxxx>

When CONFIG_CPUMASK_OFFSTACK is n, cpumask may fail to allocate, cpumask may
be NULL, and performing a bitmap operation on cpumask may cause problems at
this time.

Of course, this is a unlikely event.

Signed-off-by: Linkui Xiao <xiaolinkui@xxxxxxxxxx>
---
drivers/infiniband/hw/hfi1/affinity.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/hw/hfi1/affinity.c b/drivers/infiniband/hw/hfi1/affinity.c
index 77ee77d4000f..3caa861f4d1d 100644
--- a/drivers/infiniband/hw/hfi1/affinity.c
+++ b/drivers/infiniband/hw/hfi1/affinity.c
@@ -1047,16 +1047,16 @@ int hfi1_get_proc_affinity(int node)
*/

ret = zalloc_cpumask_var(&diff, GFP_KERNEL);
- if (!ret)
+ if (!ret || unlikely(!diff))
goto done;
ret = zalloc_cpumask_var(&hw_thread_mask, GFP_KERNEL);
- if (!ret)
+ if (!ret || unlikely(!hw_thread_mask))
goto free_diff;
ret = zalloc_cpumask_var(&available_mask, GFP_KERNEL);
- if (!ret)
+ if (!ret || unlikely(!available_mask))
goto free_hw_thread_mask;
ret = zalloc_cpumask_var(&intrs_mask, GFP_KERNEL);
- if (!ret)
+ if (!ret || unlikely(!intrs_mask))
goto free_available_mask;

mutex_lock(&affinity->lock);
--
2.17.1