[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c2441186-c278-d84d-55c4-294ef01823a6@ti.com>
Date: Wed, 7 Oct 2020 15:05:42 +0300
From: Peter Ujfalusi <peter.ujfalusi@...com>
To: Alex Dewar <alex.dewar90@...il.com>
CC: Jarkko Nikula <jarkko.nikula@...mer.com>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, <alsa-devel@...a-project.org>,
<linux-omap@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ASoC: omap-mcbsp: Fix use of uninitialised pointer
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@...il.com>
> ---
> 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
Powered by blists - more mailing lists