lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 21 Nov 2023 10:37:36 +0100
From:   Ahmad Fatoum <a.fatoum@...gutronix.de>
To:     Kunwu Chan <chentao@...inos.cn>, linux@...linux.org.uk,
        shawnguo@...nel.org, s.hauer@...gutronix.de, kernel@...gutronix.de,
        festevam@...il.com, linux-imx@....com, angus.chen@...uarmicro.com,
        arnd@...db.de, u.kleine-koenig@...gutronix.de
Cc:     linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        kunwu.chan@...mail.com
Subject: Re: [PATCH] ARM: imx: Check return value of devm_kasprintf in
 imx_mmdc_perf_init

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@...inos.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 |

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ