File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed
drivers/net/wireless/ath/ath10k Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -2617,15 +2617,20 @@ static bool ath10k_htt_rx_proc_rx_frag_ind_hl(struct ath10k_htt *htt,
26172617 rx_desc = (struct htt_hl_rx_desc * )(skb -> data + tot_hdr_len );
26182618 rx_desc_info = __le32_to_cpu (rx_desc -> info );
26192619
2620+ hdr = (struct ieee80211_hdr * )((u8 * )rx_desc + rx_hl -> fw_desc .len );
2621+
2622+ if (is_multicast_ether_addr (hdr -> addr1 )) {
2623+ /* Discard the fragment with multicast DA */
2624+ goto err ;
2625+ }
2626+
26202627 if (!MS (rx_desc_info , HTT_RX_DESC_HL_INFO_ENCRYPTED )) {
26212628 spin_unlock_bh (& ar -> data_lock );
26222629 return ath10k_htt_rx_proc_rx_ind_hl (htt , & resp -> rx_ind_hl , skb ,
26232630 HTT_RX_NON_PN_CHECK ,
26242631 HTT_RX_NON_TKIP_MIC );
26252632 }
26262633
2627- hdr = (struct ieee80211_hdr * )((u8 * )rx_desc + rx_hl -> fw_desc .len );
2628-
26292634 if (ieee80211_has_retry (hdr -> frame_control ))
26302635 goto err ;
26312636
You can’t perform that action at this time.
0 commit comments