- bool steal = !more_actions && left <= NLA_ALIGN(a->nla_len);
- dp_execute_action(dp, packet, md, a, steal);
+ bool may_steal = steal && (!more_actions
+ && left <= NLA_ALIGN(a->nla_len)
+ && type != OVS_ACTION_ATTR_RECIRC);
+ dp_execute_action(dp, packet, md, a, may_steal);