Since 'drv_priv' is an in-place member allocated at the end of
'struct ieee80211_sta', it can't be NULL and so relevant checks
in 'rtl_action_proc()' and 'rtl_tx_agg_start()' may be dropped.
Compile tested only.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231113144734.197359-2-dmantipov@yandex.ru
 
 
                                sta_entry =
                                        (struct rtl_sta_info *)sta->drv_priv;
-                               if (!sta_entry) {
-                                       rcu_read_unlock();
-                                       return true;
-                               }
                                capab =
                                  le16_to_cpu(mgmt->u.action.u.addba_req.capab);
                                tid = (capab &
                return -EINVAL;
 
        sta_entry = (struct rtl_sta_info *)sta->drv_priv;
-       if (!sta_entry)
-               return -ENXIO;
        tid_data = &sta_entry->tids[tid];
 
        rtl_dbg(rtlpriv, COMP_SEND, DBG_DMESG,
        }
 
        sta_entry = (struct rtl_sta_info *)sta->drv_priv;
-       if (!sta_entry)
-               return -ENXIO;
        tid_data = &sta_entry->tids[tid];
 
        rtl_dbg(rtlpriv, COMP_RECV, DBG_DMESG,