drivers/spmi/spmi-pmic-arb.c | 3 +++ 1 file changed, 3 insertions(+)
Add check for the return value of platform_get_resource_byname() and
return the error if it fails to catch the error.
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
---
drivers/spmi/spmi-pmic-arb.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c
index 9ba9495fcc4b..5f5f2f0a10b9 100644
--- a/drivers/spmi/spmi-pmic-arb.c
+++ b/drivers/spmi/spmi-pmic-arb.c
@@ -1808,6 +1808,9 @@ static int spmi_pmic_arb_probe(struct platform_device *pdev)
return -ENOMEM;
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "core");
+ if (!res)
+ return -EINVAL;
+
core = devm_ioremap(dev, res->start, resource_size(res));
if (!core)
return -ENOMEM;
--
2.25.1
Quoting Gaosheng Cui (2024-08-02 23:56:25)
> Add check for the return value of platform_get_resource_byname() and
> return the error if it fails to catch the error.
>
> Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Is this the right fixes tag?
Fixes: b319b5922db2 ("spmi: pmic-arb: remove the read/write access checks")
Thanks for your time.
I've made and submitted a patch v2, and I think the right fixes tag is
as follows:
Fixes: 39ae93e3a31d ("spmi: Add MSM PMIC Arbiter SPMI controller")
On 2024/8/6 5:55, Stephen Boyd wrote:
> Quoting Gaosheng Cui (2024-08-02 23:56:25)
>> Add check for the return value of platform_get_resource_byname() and
>> return the error if it fails to catch the error.
>>
>> Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
> Is this the right fixes tag?
>
> Fixes: b319b5922db2 ("spmi: pmic-arb: remove the read/write access checks")
> .
Quoting cuigaosheng (2024-08-06 05:06:40)
> Thanks for your time.
Please don't top post.
>
> I've made and submitted a patch v2, and I think the right fixes tag is
> as follows:
>
> Fixes: 39ae93e3a31d ("spmi: Add MSM PMIC Arbiter SPMI controller")
Don't think so. If the resource isn't there, the pointer returned is
NULL, devm_ioremap_resource() would bail out early if the resource is
NULL and return an error. I suggested that fixes tag because it removed
the size check. But now I see that resource_size() on a NULL pointer
would blow up. So the real fixes tag is
Fixes: 987a9f128b8a ("spmi: pmic-arb: Support more than 128 peripherals")
because that introduced the call to resource_size() on a potentially
NULL pointer.
© 2016 - 2025 Red Hat, Inc.