Pārlūkot izejas kodu

qcacld-3.0: Drop EAPOL frame with DA different from SAP vdev mac addr

Fragmented EAPOL frames and EAPOL frames received
in few error scenarios with DA different from SAP
vdev mac addr will be dropped.

Change-Id: I624eba5bdb43c6b88a1f57112550f8026cc35e24
CRs-Fixed: 2888227
Yeshwanth Sriram Guntuka 4 gadi atpakaļ
vecāks
revīzija
e7a18cf90f
1 mainītis faili ar 9 papildinājumiem un 0 dzēšanām
  1. 9 0
      core/hdd/src/wlan_hdd_softap_tx_rx.c

+ 9 - 0
core/hdd/src/wlan_hdd_softap_tx_rx.c

@@ -1179,6 +1179,15 @@ QDF_STATUS hdd_softap_rx_packet_cbk(void *adapter_context, qdf_nbuf_t rx_buf)
 					     STA_INFO_SOFTAP_RX_PACKET_CBK);
 		}
 
+		if (qdf_unlikely(qdf_nbuf_is_ipv4_eapol_pkt(skb) &&
+				 qdf_mem_cmp(qdf_nbuf_data(skb) +
+					     QDF_NBUF_DEST_MAC_OFFSET,
+					     adapter->mac_addr.bytes,
+					     QDF_MAC_ADDR_SIZE))) {
+			qdf_nbuf_free(skb);
+			continue;
+		}
+
 		hdd_event_eapol_log(skb, QDF_RX);
 		qdf_dp_trace_log_pkt(adapter->vdev_id,
 				     skb, QDF_RX, QDF_TRACE_DEFAULT_PDEV_ID);