RE: [PATCH] rtw88: check for validity before using pointer
flat view
From: Pkshih <pkshih@realtek.com>
Date: 2021-12-24 00:29:00
Also in:
lkml, netdev
quoted hunk ↗ jump to hunk
-----Original Message----- From: Muhammad Usama Anjum <redacted> Sent: Friday, December 24, 2021 1:51 AM To: Yan-Hsuan Chuang <redacted>; Kalle Valo <kvalo@kernel.org>; David S. Miller [off-list ref]; Jakub Kicinski [off-list ref]; Pkshih [off-list ref]; Bernie Huang [off-list ref]; open list:REALTEK WIRELESS DRIVER (rtw88) [off-list ref]; open list:NETWORKING DRIVERS [off-list ref]; open list [off-list ref] Cc: usama.anjum@collabora.com; kernel@collabora.com Subject: [PATCH] rtw88: check for validity before using pointer ieee80211_probereq_get() can return NULL. Pointer skb should be checked for validty before use. Fixes: 10d162b2ed39 ("rtw88: 8822c: add ieee80211_ops::hw_scan") Signed-off-by: Muhammad Usama Anjum <redacted> --- drivers/net/wireless/realtek/rtw88/fw.c | 2 ++ 1 file changed, 2 insertions(+)diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c index 2f7c036f9022..0fc05a810d05 100644 --- a/drivers/net/wireless/realtek/rtw88/fw.c +++ b/drivers/net/wireless/realtek/rtw88/fw.c@@ -1866,6 +1866,8 @@ static int rtw_hw_scan_update_probe_req(struct rtw_dev *rtwdev, req->ssids[i].ssid, req->ssids[i].ssid_len, req->ie_len); + if (!skb) + return -ENOMEM; rtw_append_probe_req_ie(rtwdev, skb, &list, rtwvif); kfree_skb(skb); }
Without properly freeing skb(s) in list, it leads memory leak. We need something below to free them: if (!skb) goto out; [...] out: skb_queue_walk(&list, skb) kfree_skb(skb); return -ENOMEM; So, NACK this patch. -- Ping-Ke