[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(ð_dev->data->mac_addrs[i], addr, sizeof(*addr))) + if (rte_memeq_timingsafe(ð_dev->data->mac_addrs[i], addr, sizeof(*addr))) return i; } -- 2.48.1