Commit e8c77bda authored by Tobias Klauser's avatar Tobias Klauser Committed by Greg Kroah-Hartman

fpga manager: Fix firmware resource leak on error

If fpga_mgr_buf_load() fails, the firmware resource previously allocated
by request_firmware() is leaked. Fix it by calling release_firmware()
regardless of the return value of fpga_mgr_buf_load().

Found by the Coverity scanner (CID 1339653).

Fixes: 6a8c3be7 ("add FPGA manager core")
Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
Acked-by: default avatarAlan Tull <atull@opensource.altera.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 07687c03
...@@ -122,12 +122,10 @@ int fpga_mgr_firmware_load(struct fpga_manager *mgr, u32 flags, ...@@ -122,12 +122,10 @@ int fpga_mgr_firmware_load(struct fpga_manager *mgr, u32 flags,
} }
ret = fpga_mgr_buf_load(mgr, flags, fw->data, fw->size); ret = fpga_mgr_buf_load(mgr, flags, fw->data, fw->size);
if (ret)
return ret;
release_firmware(fw); release_firmware(fw);
return 0; return ret;
} }
EXPORT_SYMBOL_GPL(fpga_mgr_firmware_load); EXPORT_SYMBOL_GPL(fpga_mgr_firmware_load);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment