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

From: Kang Chen
Date: Sun Feb 26 2023 - 19:41:29 EST


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

Signed-off-by: Kang Chen <void0red@xxxxxxxxx>
---
v2 -> v1: add missing parenthesis and switch to use PTR_ERR

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..dee7bb5ea 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 PTR_ERR(bank->lock[i].priv);
}

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