[PATCH] hwspinlock: add a check of devm_regmap_field_alloc in qcom_hwspinlock_probe

Kang Chen
2023-02-26T14:47:29Z

devm_regmap_field_alloc may fails, priv field might be error pointer and
cause illegal address access later.

Signed-off-by: Kang Chen <void0red@gmail.com>
---
drivers/hwspinlock/qcom_hwspinlock.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/hwspinlock/qcom_hwspinlock.c b/drivers/hwspinlock/qcom_hwspinlock.c
index 9cf186362..b69d43d30 100644
--- a/drivers/hwspinlock/qcom_hwspinlock.c
+++ b/drivers/hwspinlock/qcom_hwspinlock.c
@@ -197,6 +197,8 @@ static int qcom_hwspinlock_probe(struct platform_device *pdev)

bank->lock[i].priv = devm_regmap_field_alloc(&pdev->dev,
regmap, field);
+ if (IS_ERR(bank->lock[i].priv)
+ return -ENOMEM;
}

return devm_hwspin_lock_register(&pdev->dev, bank, &qcom_hwspinlock_ops,
--
2.34.1