Re: [PATCH] spi: Fix a memory leaking bug in wl1271_probe()

From: Jon Hunter
Date: Fri May 24 2019 - 05:45:28 EST



On 23/05/2019 15:30, Gen Zhang wrote:
> In wl1271_probe(), 'glue->core' is allocated by platform_device_alloc(),
> when this allocation fails, ENOMEM is returned. However, 'pdev_data'
> and 'glue' are allocated by devm_kzalloc() before 'glue->core'. When
> platform_device_alloc() returns NULL, we should also free 'pdev_data'
> and 'glue' before wl1271_probe() ends to prevent leaking memory.
>
> Similarly, we shoulf free 'pdev_data' when 'glue' is NULL. And we should
> free 'pdev_data' and 'glue' when 'glue->reg' is error and when 'ret' is
> error.
>
> Further, we should free 'glue->core', 'pdev_data' and 'glue' when this
> function normally ends to prevent leaking memory.
>
> Signed-off-by: Gen Zhang <blackgod016574@xxxxxxxxx>
I have seen several of these patches now, and this is not correct. I
think you need to understand how devm_kzalloc() works.

Jon

--
nvpublic