net/mlx5e: E-Switch, handle flow attribute with no destinations
authorOz Shlomo <ozsh@nvidia.com>
Sat, 3 Dec 2022 22:13:23 +0000 (14:13 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 8 Dec 2022 21:04:26 +0000 (13:04 -0800)
Rules with drop action are not required to have a destination.
Currently the destination list is allocated with the maximum number of
destinations and passed to the fs_core layer along with the actual number
of destinations.

Remove redundant passing of dest pointer when count of dest is 0.

Signed-off-by: Oz Shlomo <ozsh@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Link: https://lore.kernel.org/r/20221203221337.29267-2-saeed@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c

index c6a1420..1987a9d 100644 (file)
@@ -640,6 +640,11 @@ mlx5_eswitch_add_offloaded_rule(struct mlx5_eswitch *esw,
                goto err_esw_get;
        }
 
+       if (!i) {
+               kfree(dest);
+               dest = NULL;
+       }
+
        if (mlx5_eswitch_termtbl_required(esw, attr, &flow_act, spec))
                rule = mlx5_eswitch_add_termtbl_rule(esw, fdb, spec, esw_attr,
                                                     &flow_act, dest, i);