Re: [-next] rtlwifi: kfree entry until after entry->bssid has been accessed

2017-07-27 Thread Kalle Valo
Colin Ian King  wrote:

> From: Colin Ian King 
> 
> The current code kfree's entry and then dereferences it by accessing
> entry->bssid.  Avoid the dereference-after-free by moving the kfree
> after the access to entry->bssid.
> 
> Detected by CoverityScan, CID#1448600 ("Read from pointer after free")
> 
> Signed-off-by: Colin Ian King 

Patch applied to wireless-drivers-next.git, thanks.

d0116f6f7b30 rtlwifi: kfree entry until after entry->bssid has been accessed

-- 
https://patchwork.kernel.org/patch/9819083/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



[PATCH][-next] rtlwifi: kfree entry until after entry->bssid has been accessed

2017-06-30 Thread Colin King
From: Colin Ian King 

The current code kfree's entry and then dereferences it by accessing
entry->bssid.  Avoid the dereference-after-free by moving the kfree
after the access to entry->bssid.

Detected by CoverityScan, CID#1448600 ("Read from pointer after free")

Signed-off-by: Colin Ian King 
---
 drivers/net/wireless/realtek/rtlwifi/base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtlwifi/base.c 
b/drivers/net/wireless/realtek/rtlwifi/base.c
index e36ee592c660..208f56297a75 100644
--- a/drivers/net/wireless/realtek/rtlwifi/base.c
+++ b/drivers/net/wireless/realtek/rtlwifi/base.c
@@ -1735,12 +1735,12 @@ void rtl_scan_list_expire(struct ieee80211_hw *hw)
continue;
 
list_del(>list);
-   kfree(entry);
rtlpriv->scan_list.num--;
 
RT_TRACE(rtlpriv, COMP_SCAN, DBG_LOUD,
 "BSSID=%pM is expire in scan list (total=%d)\n",
 entry->bssid, rtlpriv->scan_list.num);
+   kfree(entry);
}
 
spin_unlock_irqrestore(>locks.scan_list_lock, flags);
-- 
2.11.0