Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 344f8e00 authored by Sara Sharon's avatar Sara Sharon Committed by Johannes Berg
Browse files

mac80211: don't build AMSDU from GSO packets



If we build AMSDU from GSO packets, it can lead to
bad results if anyone tries to call skb_gso_segment
on the packets.

Signed-off-by: default avatarSara Sharon <sara.sharon@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent fca1279f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3218,6 +3218,9 @@ static bool ieee80211_amsdu_aggregate(struct ieee80211_sub_if_data *sdata,
	if (!ieee80211_hw_check(&local->hw, TX_AMSDU))
		return false;

	if (skb_is_gso(skb))
		return false;

	if (!txq)
		return false;

@@ -3242,7 +3245,7 @@ static bool ieee80211_amsdu_aggregate(struct ieee80211_sub_if_data *sdata,
	tin = &txqi->tin;
	flow = fq_flow_classify(fq, tin, skb, fq_flow_get_default_func);
	head = skb_peek_tail(&flow->queue);
	if (!head)
	if (!head || skb_is_gso(head))
		goto out;

	orig_len = head->len;