mlx5_nl_mac_addr_flush should flush all allocated MAC
addresses.

The MAC addresses array size should be of size
MLX5_MAX_MAC_ADDRESSES, but currently we return without
flushing the addresses if size is MLX5_MAX_MAC_ADDRESSES.

This was fixed by not allowing an array larger than
MLX5_MAX_MAC_ADDRESSES.

Fixes: e9a8ac59b6e2 ("common/mlx5: fix MAC addresses assert")
Cc: sta...@dpdk.org

Signed-off-by: Shiri Kuzin <shi...@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viachesl...@mellanox.com>
---
 drivers/common/mlx5/linux/mlx5_nl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/common/mlx5/linux/mlx5_nl.c 
b/drivers/common/mlx5/linux/mlx5_nl.c
index 8ab7f6b..0ecd9c7 100644
--- a/drivers/common/mlx5/linux/mlx5_nl.c
+++ b/drivers/common/mlx5/linux/mlx5_nl.c
@@ -790,7 +790,7 @@ struct mlx5_nl_ifindex_data {
 {
        int i;
 
-       if (n <= 0 || n >= MLX5_MAX_MAC_ADDRESSES)
+       if (n <= 0 || n > MLX5_MAX_MAC_ADDRESSES)
                return;
 
        for (i = n - 1; i >= 0; --i) {
-- 
1.8.3.1

Reply via email to