hwspinlock: add a check of devm_regmap_field_alloc in qcom_hwspinlock_probe
authorKang Chen <void0red@gmail.com>
Mon, 27 Feb 2023 00:41:16 +0000 (08:41 +0800)
committerBjorn Andersson <andersson@kernel.org>
Sat, 15 Jul 2023 19:57:29 +0000 (12:57 -0700)
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>
Link: https://lore.kernel.org/r/20230227004116.1273988-1-void0red@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/hwspinlock/qcom_hwspinlock.c

index 9cf1863..dee7bb5 100644 (file)
@@ -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,