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

