[PATCH v2] bus: fsl-mc: Check return value of platform_get_resource()

Salah Triki posted 1 patch 1 month, 1 week ago
drivers/bus/fsl-mc/fsl-mc-bus.c | 3 +++
1 file changed, 3 insertions(+)
[PATCH v2] bus: fsl-mc: Check return value of platform_get_resource()
Posted by Salah Triki 1 month, 1 week ago
platform_get_resource() returns NULL in case of failure, so check its
return value and propagate the error in order to prevent NULL pointer
dereference.

Fixes: 6305166c8771 ("bus: fsl-mc: Add ACPI support for fsl-mc")
Cc: <stable@vger.kernel.org>
Signed-off-by: Salah Triki <salah.triki@gmail.com>
---
Changes in v2:
   - Add Fixes and Cc tags, as suggested by Markus Elfring and Christophe
     Leroy.
   - Remove blank line before the if statement, as suggested by Markus
     Elfring.
   - Replace ENODEV with EINVAL, as suggestd by Christophe Leroy.

 drivers/bus/fsl-mc/fsl-mc-bus.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/bus/fsl-mc/fsl-mc-bus.c b/drivers/bus/fsl-mc/fsl-mc-bus.c
index 7671bd158545..cd83cd564736 100644
--- a/drivers/bus/fsl-mc/fsl-mc-bus.c
+++ b/drivers/bus/fsl-mc/fsl-mc-bus.c
@@ -1105,6 +1105,9 @@ static int fsl_mc_bus_probe(struct platform_device *pdev)
 	 * Get physical address of MC portal for the root DPRC:
 	 */
 	plat_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!plat_res)
+		return -EINVAL;
+
 	mc_portal_phys_addr = plat_res->start;
 	mc_portal_size = resource_size(plat_res);
 	mc_portal_base_phys_addr = mc_portal_phys_addr & ~0x3ffffff;
-- 
2.43.0
Re: [PATCH v2] bus: fsl-mc: Check return value of platform_get_resource()
Posted by Christophe Leroy 1 week, 4 days ago

Le 25/08/2025 à 11:34, Salah Triki a écrit :
> [Vous ne recevez pas souvent de courriers de salah.triki@gmail.com. D?couvrez pourquoi ceci est important ? https://aka.ms/LearnAboutSenderIdentification ]
> 
> platform_get_resource() returns NULL in case of failure, so check its
> return value and propagate the error in order to prevent NULL pointer
> dereference.
> 
> Fixes: 6305166c8771 ("bus: fsl-mc: Add ACPI support for fsl-mc")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Salah Triki <salah.triki@gmail.com>
> ---
> Changes in v2:
>     - Add Fixes and Cc tags, as suggested by Markus Elfring and Christophe
>       Leroy.
>     - Remove blank line before the if statement, as suggested by Markus
>       Elfring.
>     - Replace ENODEV with EINVAL, as suggestd by Christophe Leroy.
> 
>   drivers/bus/fsl-mc/fsl-mc-bus.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/bus/fsl-mc/fsl-mc-bus.c b/drivers/bus/fsl-mc/fsl-mc-bus.c
> index 7671bd158545..cd83cd564736 100644
> --- a/drivers/bus/fsl-mc/fsl-mc-bus.c
> +++ b/drivers/bus/fsl-mc/fsl-mc-bus.c
> @@ -1105,6 +1105,9 @@ static int fsl_mc_bus_probe(struct platform_device *pdev)
>           * Get physical address of MC portal for the root DPRC:
>           */
>          plat_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +       if (!plat_res)
> +               return -EINVAL;
> +
>          mc_portal_phys_addr = plat_res->start;
>          mc_portal_size = resource_size(plat_res);
>          mc_portal_base_phys_addr = mc_portal_phys_addr & ~0x3ffffff;
> --
> 2.43.0
> 

Applied, thanks!

Christophe
Re: [PATCH v2] bus: fsl-mc: Check return value of platform_get_resource()
Posted by Ioana Ciornei 1 month, 1 week ago
On Mon, Aug 25, 2025 at 10:34:35AM +0100, Salah Triki wrote:
> platform_get_resource() returns NULL in case of failure, so check its
> return value and propagate the error in order to prevent NULL pointer
> dereference.
> 
> Fixes: 6305166c8771 ("bus: fsl-mc: Add ACPI support for fsl-mc")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Salah Triki <salah.triki@gmail.com>

Acked-by: Ioana Ciornei <ioana.ciornei@nxp.com>

> ---
> Changes in v2:
>    - Add Fixes and Cc tags, as suggested by Markus Elfring and Christophe
>      Leroy.
>    - Remove blank line before the if statement, as suggested by Markus
>      Elfring.
>    - Replace ENODEV with EINVAL, as suggestd by Christophe Leroy.
> 
>  drivers/bus/fsl-mc/fsl-mc-bus.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/bus/fsl-mc/fsl-mc-bus.c b/drivers/bus/fsl-mc/fsl-mc-bus.c
> index 7671bd158545..cd83cd564736 100644
> --- a/drivers/bus/fsl-mc/fsl-mc-bus.c
> +++ b/drivers/bus/fsl-mc/fsl-mc-bus.c
> @@ -1105,6 +1105,9 @@ static int fsl_mc_bus_probe(struct platform_device *pdev)
>  	 * Get physical address of MC portal for the root DPRC:
>  	 */
>  	plat_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	if (!plat_res)
> +		return -EINVAL;
> +
>  	mc_portal_phys_addr = plat_res->start;
>  	mc_portal_size = resource_size(plat_res);
>  	mc_portal_base_phys_addr = mc_portal_phys_addr & ~0x3ffffff;
> -- 
> 2.43.0
>