net/mlx5e: Fix free peer_flow when refcount is 0
It could be neigh update flow took a refcount on peer flow so
sometimes we cannot release peer flow even if parent flow is
being freed now.
Fixes: 5a7e5bcb66
("net/mlx5e: Extend tc flow struct with reference counter")
Signed-off-by: Roi Dayan <roid@mellanox.com>
Reviewed-by: Eli Britstein <elibr@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
a23dae79fb
commit
eb252c3a24
@ -1626,8 +1626,11 @@ static void __mlx5e_tc_del_fdb_peer_flow(struct mlx5e_tc_flow *flow)
|
||||
|
||||
flow_flag_clear(flow, DUP);
|
||||
|
||||
mlx5e_tc_del_fdb_flow(flow->peer_flow->priv, flow->peer_flow);
|
||||
kfree(flow->peer_flow);
|
||||
if (refcount_dec_and_test(&flow->peer_flow->refcnt)) {
|
||||
mlx5e_tc_del_fdb_flow(flow->peer_flow->priv, flow->peer_flow);
|
||||
kfree(flow->peer_flow);
|
||||
}
|
||||
|
||||
flow->peer_flow = NULL;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user