mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
rtlwifi: fix potential NULL pointer dereference
[ Upstream commit 60209d482b ]
In case dev_alloc_skb fails, the fix safely returns to avoid
potential NULL pointer dereference.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ae087a4a56
commit
09ef780d7d
@@ -620,6 +620,8 @@ void rtl88e_set_fw_rsvdpagepkt(struct ieee80211_hw *hw, bool b_dl_finished)
|
||||
u1rsvdpageloc, 3);
|
||||
|
||||
skb = dev_alloc_skb(totalpacketlen);
|
||||
if (!skb)
|
||||
return;
|
||||
skb_put_data(skb, &reserved_page_packet, totalpacketlen);
|
||||
|
||||
rtstatus = rtl_cmd_send_packet(hw, skb);
|
||||
|
||||
@@ -647,6 +647,8 @@ void rtl92c_set_fw_rsvdpagepkt(struct ieee80211_hw *hw,
|
||||
|
||||
|
||||
skb = dev_alloc_skb(totalpacketlen);
|
||||
if (!skb)
|
||||
return;
|
||||
skb_put_data(skb, &reserved_page_packet, totalpacketlen);
|
||||
|
||||
if (cmd_send_packet)
|
||||
|
||||
@@ -766,6 +766,8 @@ void rtl92ee_set_fw_rsvdpagepkt(struct ieee80211_hw *hw, bool b_dl_finished)
|
||||
u1rsvdpageloc, 3);
|
||||
|
||||
skb = dev_alloc_skb(totalpacketlen);
|
||||
if (!skb)
|
||||
return;
|
||||
skb_put_data(skb, &reserved_page_packet, totalpacketlen);
|
||||
|
||||
rtstatus = rtl_cmd_send_packet(hw, skb);
|
||||
|
||||
@@ -470,6 +470,8 @@ void rtl8723e_set_fw_rsvdpagepkt(struct ieee80211_hw *hw, bool b_dl_finished)
|
||||
u1rsvdpageloc, 3);
|
||||
|
||||
skb = dev_alloc_skb(totalpacketlen);
|
||||
if (!skb)
|
||||
return;
|
||||
skb_put_data(skb, &reserved_page_packet, totalpacketlen);
|
||||
|
||||
rtstatus = rtl_cmd_send_packet(hw, skb);
|
||||
|
||||
@@ -584,6 +584,8 @@ void rtl8723be_set_fw_rsvdpagepkt(struct ieee80211_hw *hw,
|
||||
u1rsvdpageloc, sizeof(u1rsvdpageloc));
|
||||
|
||||
skb = dev_alloc_skb(totalpacketlen);
|
||||
if (!skb)
|
||||
return;
|
||||
skb_put_data(skb, &reserved_page_packet, totalpacketlen);
|
||||
|
||||
rtstatus = rtl_cmd_send_packet(hw, skb);
|
||||
|
||||
@@ -1645,6 +1645,8 @@ out:
|
||||
&reserved_page_packet_8812[0], totalpacketlen);
|
||||
|
||||
skb = dev_alloc_skb(totalpacketlen);
|
||||
if (!skb)
|
||||
return;
|
||||
skb_put_data(skb, &reserved_page_packet_8812, totalpacketlen);
|
||||
|
||||
rtstatus = rtl_cmd_send_packet(hw, skb);
|
||||
@@ -1781,6 +1783,8 @@ out:
|
||||
&reserved_page_packet_8821[0], totalpacketlen);
|
||||
|
||||
skb = dev_alloc_skb(totalpacketlen);
|
||||
if (!skb)
|
||||
return;
|
||||
skb_put_data(skb, &reserved_page_packet_8821, totalpacketlen);
|
||||
|
||||
rtstatus = rtl_cmd_send_packet(hw, skb);
|
||||
|
||||
Reference in New Issue
Block a user