mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
net/mlx5e: Fix free peer_flow when refcount is 0
commiteb252c3a24upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
9bc7663b71
commit
142cb2bd61
@@ -1615,8 +1615,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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user