Re: [PATCH] parisc: led: fix reference leak on failed device registration
Helge Deller <[email protected]>
| Newsgroups | org.kernel.vger.linux-parisc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 4/15/26 19:05, Guangshuo Li wrote:
> When platform_device_register() fails in startup_leds(), the embedded
> struct device in platform_leds has already been initialized by
> device_initialize(), but the failure path only reports the error and
> does not drop the device reference for the current platform device:
>
> startup_leds()
> -> platform_device_register(&platform_leds)
> -> device_initialize(&platform_leds.dev)
> -> setup_pdev_dma_masks(&platform_leds)
> -> platform_device_add(&platform_leds)
>
> This leads to a reference leak when platform_device_register() fails.
> Fix this by calling platform_device_put() after reporting the error.
>
> The issue was identified by a static analysis tool I developed and
> confirmed by manual review.
>
> Fixes: 789e527adfc33 ("parisc: led: Rewrite LED/LCD driver to utilizize Linux LED subsystem")
> Cc: [email protected]
> Signed-off-by: Guangshuo Li <[email protected]>
> ---
> drivers/parisc/led.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
applied.
Thanks!
Helge