mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
wilc_wlan_firmware_download() allocates dma_buffer with kmalloc() at
the top of the function and uses a 'fail:' label to free it via
kfree(dma_buffer) on error.
All later error paths correctly use 'goto fail' to route through this
cleanup. However, the early failure path after the first acquire_bus()
call uses a bare 'return ret;', which leaks dma_buffer whenever the bus
acquire fails.
Replace the early return with goto fail so the existing cleanup path
runs.
Found via a custom Coccinelle semantic patch hunting for kmalloc'd
locals leaked on early-return error paths in driver firmware-download
code.
Fixes:
|
||
|---|---|---|
| .. | ||
| cfg80211.c | ||
| cfg80211.h | ||
| fw.h | ||
| hif.c | ||
| hif.h | ||
| Kconfig | ||
| Makefile | ||
| mon.c | ||
| netdev.c | ||
| netdev.h | ||
| sdio.c | ||
| spi.c | ||
| wlan_cfg.c | ||
| wlan_cfg.h | ||
| wlan_if.h | ||
| wlan.c | ||
| wlan.h | ||