[ovs-dev] [PATCH v2 1/2] datapath: Free skb(s) on recirculation error

Daniele Di Proietto ddiproietto at vmware.com
Mon May 12 23:32:29 UTC 2014


You’re right, of course.

Sorry I didn’t see it the first time.

On May 12, 2014, at 4:28 PM, Jesse Gross <jesse at nicira.com> wrote:

> On Mon, May 12, 2014 at 4:06 PM, Daniele Di Proietto
> <ddiproietto at 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




More information about the dev mailing list