Patch "rsi: Fix possible leak when loading firmware" has been added to the 4.2-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
rsi: Fix possible leak when loading firmware
to the 4.2-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
rsi-fix-possible-leak-when-loading-firmware.patch
and it can be found in the queue-4.2 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
a8b9774571d46506a0774b1ced3493b1245cf893Mon Sep 17 00:00:00 2001
From: Christian Engelmayer <[email protected]>
Date: Fri, 21 Aug 2015 23:14:26 +0200
Subject: rsi: Fix possible leak when loading firmware
From: Christian Engelmayer <[email protected]>
commit a8b9774571d46506a0774b1ced3493b1245cf893 upstream.
Commit 5d5cd85ff441 ("rsi: Fix failure to load firmware after memory leak fix and fix the leak") also added a check on the allocation of DMA-accessible memory that may directly return. In that case the already allocated firmware data is leaked. Make sure the data is always freed correctly. Detected by Coverity CID 1316519.
--- drivers/net/wireless/rsi/rsi_91x_sdio_ops.c | 8 ++++++-- drivers/net/wireless/rsi/rsi_91x_usb_ops.c | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-)
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c +6 -2
@@ -203,8 +203,10 @@ static int rsi_load_ta_instructions(stru/* Copy firmware into DMA-accessible memory */ fw =kmemdup (fw_entry->data, fw_entry->size,GFP_KERNEL ); -if (!fw) -return -ENOMEM ; +if (!fw) { + status = -ENOMEM ; + goto out; + } len = fw_entry->size;if (len %4 )
@@ -217,6 +219,8 @@ static int rsi_load_ta_instructions(stru status =rsi_copy_to_card (common, fw, len, num_blocks);kfree (fw); + +out:release_firmware (fw_entry);return status; }
drivers/net/wireless/rsi/rsi_91x_usb_ops.c +6 -2
@@ -148,8 +148,10 @@ static int rsi_load_ta_instructions(stru/* Copy firmware into DMA-accessible memory */ fw =kmemdup (fw_entry->data, fw_entry->size,GFP_KERNEL ); -if (!fw) -return -ENOMEM ; +if (!fw) { + status = -ENOMEM ; + goto out; + } len = fw_entry->size;if (len %4 )
@@ -162,6 +164,8 @@ static int rsi_load_ta_instructions(stru status =rsi_copy_to_card (common, fw, len, num_blocks);kfree (fw); + +out:release_firmware (fw_entry);return status; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.2/rsi-fix-possible-leak-when-loading-firmware.patch