Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1678648 > unrolled thread

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

Started byColin King <colin.king@canonical.com>
First post2017-06-30 12:10 +0200
Last post2017-06-30 12:10 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH][-next] rtlwifi: kfree entry until after entry->bssid has been accessed Colin King <colin.king@canonical.com> - 2017-06-30 12:10 +0200

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

FromColin King <colin.king@canonical.com>
Date2017-06-30 12:10 +0200
Subject[PATCH][-next] rtlwifi: kfree entry until after entry->bssid has been accessed
Message-ID<tY12a-497-17@gated-at.bofh.it>
From: Colin Ian King <colin.king@canonical.com>

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 <colin.king@canonical.com>
---
 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(&entry->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(&rtlpriv->locks.scan_list_lock, flags);
-- 
2.11.0

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web