net/mlx5e: TC, Move kfree() calls after destroying all resources
When deleting fdb/nic flow rules first release all resources and then call the kfree() calls instead of sparse them around the function. Signed-off-by: Roi Dayan <roid@nvidia.com> Reviewed-by: Vlad Buslov <vladbu@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
parent
972fe492e8
commit
88d9748604
@ -1128,8 +1128,6 @@ static void mlx5e_tc_del_nic_flow(struct mlx5e_priv *priv,
|
||||
}
|
||||
mutex_unlock(&priv->fs.tc.t_lock);
|
||||
|
||||
kvfree(attr->parse_attr);
|
||||
|
||||
if (attr->action & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR)
|
||||
mlx5e_detach_mod_hdr(priv, flow);
|
||||
|
||||
@ -1139,6 +1137,7 @@ static void mlx5e_tc_del_nic_flow(struct mlx5e_priv *priv,
|
||||
if (flow_flag_test(flow, HAIRPIN))
|
||||
mlx5e_hairpin_flow_del(priv, flow);
|
||||
|
||||
kvfree(attr->parse_attr);
|
||||
kfree(flow->attr);
|
||||
}
|
||||
|
||||
@ -1626,9 +1625,6 @@ static void mlx5e_tc_del_fdb_flow(struct mlx5e_priv *priv,
|
||||
else
|
||||
mlx5e_detach_mod_hdr(priv, flow);
|
||||
}
|
||||
kfree(attr->sample_attr);
|
||||
kvfree(attr->parse_attr);
|
||||
kvfree(attr->esw_attr->rx_tun_attr);
|
||||
|
||||
if (attr->action & MLX5_FLOW_CONTEXT_ACTION_COUNT)
|
||||
mlx5_fc_destroy(esw_attr->counter_dev, attr->counter);
|
||||
@ -1642,6 +1638,9 @@ static void mlx5e_tc_del_fdb_flow(struct mlx5e_priv *priv,
|
||||
if (flow_flag_test(flow, L3_TO_L2_DECAP))
|
||||
mlx5e_detach_decap(priv, flow);
|
||||
|
||||
kfree(attr->sample_attr);
|
||||
kvfree(attr->esw_attr->rx_tun_attr);
|
||||
kvfree(attr->parse_attr);
|
||||
kfree(flow->attr);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user