Patch "rtlwifi: Fix memory leak when firmware request fails" has been added to the 4.13-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
rtlwifi: Fix memory leak when firmware request fails
to the 4.13-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:
rtlwifi-fix-memory-leak-when-firmware-request-fails.patch
and it can be found in the queue-4.13 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
f2764f61fa10593204b0c5e4e9a68dba02112e50Mon Sep 17 00:00:00 2001
From: Souptick Joarder <[email protected]>
Date: Wed, 5 Jul 2017 19:55:06 +0530
Subject: rtlwifi: Fix memory leak when firmware request fails
From: Souptick Joarder <[email protected]>
commit f2764f61fa10593204b0c5e4e9a68dba02112e50 upstream.
This patch will fix memory leak when firmware request fails
--- drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c | 2 ++ drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c | 2 ++ drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c | 4 ++++ drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c | 2 ++ drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c | 2 ++ drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c | 2 ++ drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c | 2 ++ drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c | 2 ++ drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c | 6 ++++++ 9 files changed, 24 insertions(+)
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c +2 -0
@@ -175,6 +175,8 @@ int rtl88e_init_sw_vars(struct ieee80211 rtl_fw_cb);if (err) {pr_info ("Failed to request firmware!\n" ); +vfree (rtlpriv->rtlhal.pfirmware); + rtlpriv->rtlhal.pfirmware =NULL ;return 1 ; }
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c +2 -0
@@ -176,6 +176,8 @@ int rtl92c_init_sw_vars(struct ieee80211 rtl_fw_cb);if (err) {pr_err ("Failed to request firmware!\n" ); +vfree (rtlpriv->rtlhal.pfirmware); + rtlpriv->rtlhal.pfirmware =NULL ;return 1 ; }
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +4 -0
@@ -85,6 +85,10 @@ static int rtl92cu_init_sw_vars(struct i err =request_firmware_nowait (THIS_MODULE ,1 , fw_name, rtlpriv->io.dev,GFP_KERNEL , hw, rtl_fw_cb); +if (err) { +vfree (rtlpriv->rtlhal.pfirmware); + rtlpriv->rtlhal.pfirmware =NULL ; + }return err; }
drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c +2 -0
@@ -183,6 +183,8 @@ static int rtl92d_init_sw_vars(struct ie rtl_fw_cb);if (err) {pr_err ("Failed to request firmware!\n" ); +vfree (rtlpriv->rtlhal.pfirmware); + rtlpriv->rtlhal.pfirmware =NULL ;return 1 ; }
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c +2 -0
@@ -177,6 +177,8 @@ int rtl92ee_init_sw_vars(struct ieee8021 rtl_fw_cb);if (err) {pr_err ("Failed to request firmware!\n" ); +vfree (rtlpriv->rtlhal.pfirmware); + rtlpriv->rtlhal.pfirmware =NULL ;return 1 ; }
drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c +2 -0
@@ -216,6 +216,8 @@ static int rtl92s_init_sw_vars(struct ie rtl92se_fw_cb);if (err) {pr_err ("Failed to request firmware!\n" ); +vfree (rtlpriv->rtlhal.pfirmware); + rtlpriv->rtlhal.pfirmware =NULL ;return 1 ; }
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c +2 -0
@@ -184,6 +184,8 @@ int rtl8723e_init_sw_vars(struct ieee802 rtl_fw_cb);if (err) {pr_err ("Failed to request firmware!\n" ); +vfree (rtlpriv->rtlhal.pfirmware); + rtlpriv->rtlhal.pfirmware =NULL ;return 1 ; }return 0 ;
drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c +2 -0
@@ -195,6 +195,8 @@ int rtl8723be_init_sw_vars(struct ieee80 rtl_fw_cb);if (err) {pr_err ("Failed to request firmware!\n" ); +vfree (rtlpriv->rtlhal.pfirmware); + rtlpriv->rtlhal.pfirmware =NULL ;return 1 ; } }
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c +6 -0
@@ -196,6 +196,8 @@ int rtl8821ae_init_sw_vars(struct ieee80 rtlpriv->rtlhal.wowlan_firmware =vzalloc (0x8000 );if (!rtlpriv->rtlhal.wowlan_firmware) {pr_err ("Can't alloc buffer for wowlan fw.\n" ); +vfree (rtlpriv->rtlhal.pfirmware); + rtlpriv->rtlhal.pfirmware =NULL ;return 1 ; }
@@ -222,6 +224,8 @@ int rtl8821ae_init_sw_vars(struct ieee80 rtl_fw_cb);if (err) {pr_err ("Failed to request normal firmware!\n" ); +vfree (rtlpriv->rtlhal.wowlan_firmware); +vfree (rtlpriv->rtlhal.pfirmware);return 1 ; } }
@@ -233,6 +237,8 @@ int rtl8821ae_init_sw_vars(struct ieee80 rtl_wowlan_fw_cb);if (err) {pr_err ("Failed to request wowlan firmware!\n" ); +vfree (rtlpriv->rtlhal.wowlan_firmware); +vfree (rtlpriv->rtlhal.pfirmware);return 1 ; }return 0 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.13/rtlwifi-fix-memory-leak-when-firmware-request-fails.patch