]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: wilc1000: fix dma_buffer leak on bus acquire failure
authorShitalkumar Gandhi <shital.gandhi45@gmail.com>
Mon, 11 May 2026 04:27:32 +0000 (09:57 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 20 May 2026 09:19:55 +0000 (11:19 +0200)
commitdd7b6a8671939708cc4b7a46786d8c11297e8f69
tree1508fe526b483f11c677ec72314a53332cee6c99
parentd71c841be5d9e586ee7f36c0dc8ed4db0d9a1349
wifi: wilc1000: fix dma_buffer leak on bus acquire failure

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: 1241c5650ff7 ("wifi: wilc1000: Fill in missing error handling")
Signed-off-by: Shitalkumar Gandhi <shitalkumar.gandhi@cambiumnetworks.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260511042732.998311-1-shitalkumar.gandhi@cambiumnetworks.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/microchip/wilc1000/wlan.c