[PATCH v1 3/3] net/cnxk: use timing-safe MAC address comparison

Rupesh Chiluka <[email protected]> Mon, 3 Aug 2026 11:54:15 +0530
Newsgroups org.dpdk.dev
Message-ID <a902ba117c37b0d392a91c3e89692bc89e49f9b9.1785737875.git.rchiluka@marvell.com>
nix_find_mac_addr() compared MAC addresses with memcmp(), which
returns early on the first differing byte. Use rte_memeq_timingsafe()
for constant-time comparison.

Bugzilla ID: 1773

Signed-off-by: Rupesh Chiluka <[email protected]>
---
 drivers/net/cnxk/cnxk_ethdev_ops.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/cnxk/cnxk_ethdev_ops.c b/drivers/net/cnxk/cnxk_ethdev_ops.c
index 0ea3d7e89f..094312e406 100644
--- a/drivers/net/cnxk/cnxk_ethdev_ops.c
+++ b/drivers/net/cnxk/cnxk_ethdev_ops.c
@@ -1147,7 +1147,7 @@ nix_find_mac_addr(struct rte_eth_dev *eth_dev, struct rte_ether_addr *addr)
 	memset(&null_mac_addr, 0, sizeof(null_mac_addr));
 	addr = addr ? addr : &null_mac_addr;
 	for (i = 0; i < dev->max_mac_entries; i++) {
-		if (!memcmp(&eth_dev->data->mac_addrs[i], addr, sizeof(*addr)))
+		if (rte_memeq_timingsafe(&eth_dev->data->mac_addrs[i], addr, sizeof(*addr)))
 			return i;
 	}
 
-- 
2.48.1