From: Abhijeet Dharmapurikar <adhar...@codeaurora.org>

If "core" memory resource is not specified, the driver could end up
dereferencing a null pointer.

Fix this by returning -EINVAL when core resource is missing.

Signed-off-by: Abhijeet Dharmapurikar <adhar...@codeaurora.org>
Signed-off-by: Kiran Gunda <kgu...@codeaurora.org>
---
 drivers/spmi/spmi-pmic-arb.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c
index 2afe359..412481d 100644
--- a/drivers/spmi/spmi-pmic-arb.c
+++ b/drivers/spmi/spmi-pmic-arb.c
@@ -1003,6 +1003,12 @@ static int spmi_pmic_arb_probe(struct platform_device 
*pdev)
        pa->spmic = ctrl;
 
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "core");
+       if (!res) {
+               dev_err(&pdev->dev, "core resource not specified\n");
+               err = -EINVAL;
+               goto err_put_ctrl;
+       }
+
        pa->core_size = resource_size(res);
        if (pa->core_size <= 0x800) {
                dev_err(&pdev->dev, "core_size is smaller than 0x800. Failing 
Probe\n");
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of 
Code Aurora Forum, hosted by The Linux Foundation
--

Reply via email to