Message ID | 20201004102535.325547-1-alex.dewar90@gmail.com |
---|---|
State | New |
Headers | show |
Series | ASoC: omap-mcbsp: Fix use of uninitialised pointer | expand |
On Sun, 4 Oct 2020 11:25:36 +0100, 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. Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/1] ASoC: omap-mcbsp: Fix use of uninitialised pointer commit: cd7dea5e17a561e621e78e5863f5634cb6f9f097 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
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@gmail.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
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);
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") Signed-off-by: Alex Dewar <alex.dewar90@gmail.com> --- sound/soc/ti/omap-mcbsp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)