diff options
author | Yeshwanth Sriram Guntuka <ysriramg@codeaurora.org> | 2021-02-27 12:19:09 +0530 |
---|---|---|
committer | Hsiu Chang Chen <hsiuchangchen@google.com> | 2021-03-17 03:01:14 +0000 |
commit | 15b7ef6d9c7518f5050eb08e9ce8f4c6cf7e7ff7 (patch) | |
tree | a56e243b5527c2d346fb28d05e9eb527200e20cd | |
parent | 714e3b7bb3389f30164335f734f3ab2672b951ab (diff) | |
download | qcacld-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.c | 16 |
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 |