On Mon, May 12, 2014 at 4:06 PM, Daniele Di Proietto
<ddiproie...@vmware.com> wrote:
> If I understand correctly, the new code frees the skb only if 
> execute_recirc() _returns_ an error and this can happen only if 
> ovs_flow_extract() returns an error, in which case recirc_skb only gets freed 
> once, but maybe I’m wrong.

I agree that there is a problem currently with the error case and that
this fixes it. However, the current code also returns from the
function on success if this is the last action, which this removes.
This cause us to both free the packet during the course of the
(successful) recirculation and later down in the original caller. In
the last_action case, there is only a single skb so this causes a
double free.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to