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

Commit 98a6914c authored by Yeshwanth Sriram Guntuka's avatar Yeshwanth Sriram Guntuka Committed by Madan Koyyalamudi
Browse files

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.

Change-Id: I4145227c9b02fe8cec86ef4ffc3bc2025f906923
CRs-Fixed: 2888467
parent 021a6981
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
/*
 * 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
@@ -203,6 +203,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