summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYeshwanth Sriram Guntuka <ysriramg@codeaurora.org>2021-02-27 12:19:09 +0530
committerHsiu Chang Chen <hsiuchangchen@google.com>2021-03-17 03:01:14 +0000
commit15b7ef6d9c7518f5050eb08e9ce8f4c6cf7e7ff7 (patch)
treea56e243b5527c2d346fb28d05e9eb527200e20cd
parent714e3b7bb3389f30164335f734f3ab2672b951ab (diff)
downloadqcacld-15b7ef6d9c7518f5050eb08e9ce8f4c6cf7e7ff7.tar.gz
qcacld-3.0: Do not intrabss forward fragmented EAPOL frames
Do not intrabss forward fragmented EAPOL frames that have DA different from the SAP vdev mac addr. Bug: 182958222 Change-Id: I4145227c9b02fe8cec86ef4ffc3bc2025f906923 CRs-Fixed: 2888467 Signed-off-by: Hsiu-Chang Chen <hsiuchangchen@google.com>
-rw-r--r--core/dp/txrx/ol_rx_fwd.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/core/dp/txrx/ol_rx_fwd.c b/core/dp/txrx/ol_rx_fwd.c
index d692a21999..01d6e8fa39 100644
--- a/core/dp/txrx/ol_rx_fwd.c
+++ b/core/dp/txrx/ol_rx_fwd.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2014-2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011, 2014-2019, 2021 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -204,6 +204,20 @@ ol_rx_fwd_check(struct ol_txrx_vdev_t *vdev,
continue;
}
+ if (vdev->opmode == wlan_op_mode_ap &&
+ qdf_nbuf_is_ipv4_eapol_pkt(msdu) &&
+ qdf_mem_cmp(qdf_nbuf_data(msdu) +
+ QDF_NBUF_DEST_MAC_OFFSET,
+ vdev->mac_addr.raw,
+ QDF_MAC_ADDR_SIZE)) {
+ TXRX_STATS_MSDU_LIST_INCR(
+ pdev, tx.dropped.host_reject, msdu);
+ qdf_nbuf_set_next(msdu, NULL);
+ qdf_nbuf_tx_free(msdu, QDF_NBUF_PKT_ERROR);
+ msdu = msdu_list;
+ continue;
+ }
+
/*
* This MSDU needs to be forwarded to the tx path.
* Check whether it also needs to be sent to the OS