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

Reply via email to