Re: [PATCH] ASoC: omap-mcbsp: Fix use of uninitialised pointer

From: Peter Ujfalusi
Date: Wed Oct 07 2020 - 08:06:04 EST




On 04/10/2020 13.25, Alex Dewar wrote:
> Commit 9c34d023dc35 ("ASoC: omap-mcbsp: Re-arrange files for core McBSP
> and Sidetone function split"), in rearranging various files, also replaced
> calls to platform_get_resource_by_name() + devm_ioremap_resource() with a
> single call to devm_platform_ioremap_resource_byname(). However, the
> struct resource is needed as we access its members so at present a null
> pointer is dereferenced. Fix by doing things the old way.
>
> Addresses-Coverity-ID: 1497530 ("Memory - illegal accesses")
> Fixes: 9c34d023dc35 ("ASoC: omap-mcbsp: Re-arrange files for core McBSP and Sidetone function split")

it is fixing:
31e1fc4f11e2e ("ASoC: ti: omap-mcbsp: use
devm_platform_ioremap_resource_byname")

and we should just revert that commit.

> Signed-off-by: Alex Dewar <alex.dewar90@xxxxxxxxx>
> ---
> sound/soc/ti/omap-mcbsp.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/ti/omap-mcbsp.c b/sound/soc/ti/omap-mcbsp.c
> index 186cea91076f..6025b30bbe77 100644
> --- a/sound/soc/ti/omap-mcbsp.c
> +++ b/sound/soc/ti/omap-mcbsp.c
> @@ -620,7 +620,11 @@ static int omap_mcbsp_init(struct platform_device *pdev)
> spin_lock_init(&mcbsp->lock);
> mcbsp->free = true;
>
> - mcbsp->io_base = devm_platform_ioremap_resource_byname(pdev, "mpu");
> + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "mpu");
> + if (!res)
> + res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +
> + mcbsp->io_base = devm_ioremap_resource(&pdev->dev, res);
> if (IS_ERR(mcbsp->io_base))
> return PTR_ERR(mcbsp->io_base);
>
>

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki