Messages in this thread | | | Date | Tue, 21 Nov 2023 10:37:36 +0100 | Subject | Re: [PATCH] ARM: imx: Check return value of devm_kasprintf in imx_mmdc_perf_init | From | Ahmad Fatoum <> |
| |
Hello Kunwu,
On 21.11.23 10:25, Kunwu Chan wrote: > devm_kasprintf() returns a pointer to dynamically allocated memory > which can be NULL upon failure. Ensure the allocation was successful > by checking the pointer validity. > > Fixes: ebeb49f43c89 ("ARM: imx: Call ida_simple_remove() for ida_simple_get")
This commit only moves the allocation around, but it didn't introduce it. Please reference the first commit that added the allocation.
> Signed-off-by: Kunwu Chan <chentao@kylinos.cn> > --- > arch/arm/mach-imx/mmdc.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arch/arm/mach-imx/mmdc.c b/arch/arm/mach-imx/mmdc.c > index 2157493b78a9..7c471d6a851d 100644 > --- a/arch/arm/mach-imx/mmdc.c > +++ b/arch/arm/mach-imx/mmdc.c > @@ -501,6 +501,10 @@ static int imx_mmdc_perf_init(struct platform_device *pdev, void __iomem *mmdc_b > > name = devm_kasprintf(&pdev->dev, > GFP_KERNEL, "mmdc%d", ret); > + if (!name) { > + ret = -ENOMEM; > + goto pmu_free;
Cleanup is incomplete if you goto pmu_free, e.g. ida_simple_remove() isn't called. pmu_register_err does too much cleanup, so you'll need to add a new cleanup label.
Cheers, Ahmad
> + } > > pmu_mmdc->mmdc_ipg_clk = mmdc_ipg_clk; > pmu_mmdc->devtype_data = (struct fsl_mmdc_devtype_data *)of_id->data;
-- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
| |