2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 22:35:15 +00:00

odp-execute: Fix memory leak on recirc action

If odp_execute_actions() has been called with 'steal' set to true and
OVS_ACTION_ATTR_RECIRC as last action, it should allow dp_execute_cb()
to steal the packet.

Signed-off-by: Daniele Di Proietto <ddiproietto@vmware.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
This commit is contained in:
Daniele Di Proietto
2014-10-03 15:04:15 -07:00
committed by Jarno Rajahalme
parent d73803ca82
commit 0057762a2f

View File

@@ -422,8 +422,7 @@ odp_execute_actions__(void *dp, struct dpif_packet **packets, int cnt,
/* Allow 'dp_execute_action' to steal the packet data if we do
* not need it any more. */
bool may_steal = steal && (!more_actions
&& left <= NLA_ALIGN(a->nla_len)
&& type != OVS_ACTION_ATTR_RECIRC);
&& left <= NLA_ALIGN(a->nla_len));
dp_execute_action(dp, packets, cnt, md, a, may_steal);
}
break;