Unverified Commit 6ebabd0a authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!13433 wifi: iwlwifi: mvm: avoid NULL pointer dereference

parents 38886530 42576d27
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -1076,6 +1076,9 @@ static int iwl_mvm_tx_mpdu(struct iwl_mvm *mvm, struct sk_buff *skb,
	bool is_ampdu = false;
	int hdrlen;

	if (WARN_ON_ONCE(!sta))
		return -1;

	mvmsta = iwl_mvm_sta_from_mac80211(sta);
	fc = hdr->frame_control;
	hdrlen = ieee80211_hdrlen(fc);
@@ -1083,9 +1086,6 @@ static int iwl_mvm_tx_mpdu(struct iwl_mvm *mvm, struct sk_buff *skb,
	if (IWL_MVM_NON_TRANSMITTING_AP && ieee80211_is_probe_resp(fc))
		return -1;

	if (WARN_ON_ONCE(!mvmsta))
		return -1;

	if (WARN_ON_ONCE(mvmsta->sta_id == IWL_MVM_INVALID_STA))
		return -1;

@@ -1202,16 +1202,18 @@ static int iwl_mvm_tx_mpdu(struct iwl_mvm *mvm, struct sk_buff *skb,
int iwl_mvm_tx_skb_sta(struct iwl_mvm *mvm, struct sk_buff *skb,
		       struct ieee80211_sta *sta)
{
	struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
	struct iwl_mvm_sta *mvmsta;
	struct ieee80211_tx_info info;
	struct sk_buff_head mpdus_skbs;
	unsigned int payload_len;
	int ret;
	struct sk_buff *orig_skb = skb;

	if (WARN_ON_ONCE(!mvmsta))
	if (WARN_ON_ONCE(!sta))
		return -1;

	mvmsta = iwl_mvm_sta_from_mac80211(sta);

	if (WARN_ON_ONCE(mvmsta->sta_id == IWL_MVM_INVALID_STA))
		return -1;