wifi: rtw89: fix null vif pointer when get management frame date rate
authorKuan-Chung Chen <damon.chen@realtek.com>
Fri, 6 Jan 2023 12:15:16 +0000 (20:15 +0800)
committerKalle Valo <kvalo@kernel.org>
Mon, 16 Jan 2023 13:37:42 +0000 (15:37 +0200)
When transmitting a packet that gets from ieee80211_nullfunc_get(),
the vif in tx_info->control was no assigned, which will cause
dereferencing a null pointer.

Signed-off-by: Kuan-Chung Chen <damon.chen@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230106121517.19841-1-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.c

index 2e4ba8e42d39240bcaf32cd431f1c73bfa8bf733..27f7a1860c9d088142784a94aa387ac7212b2c9c 100644 (file)
@@ -498,7 +498,8 @@ static u16 rtw89_core_get_mgmt_rate(struct rtw89_dev *rtwdev,
        const struct rtw89_chan *chan = rtw89_chan_get(rtwdev, RTW89_SUB_ENTITY_0);
        u16 lowest_rate;
 
-       if (tx_info->flags & IEEE80211_TX_CTL_NO_CCK_RATE || vif->p2p)
+       if (tx_info->flags & IEEE80211_TX_CTL_NO_CCK_RATE ||
+           (vif && vif->p2p))
                lowest_rate = RTW89_HW_RATE_OFDM6;
        else if (chan->band_type == RTW89_BAND_2G)
                lowest_rate = RTW89_HW_RATE_CCK1;