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