When we need to send a packet through the IP stack we need to attach
a dst to the skb.  Due to some interactions with caching this doesn't
happen until late in the transmission process.  However, if we are
inserting a vlan tag and the insertion fails it is possible to leak
the dst.

Reported-by: Ben Pfaff <[email protected]>
Signed-off-by: Jesse Gross <[email protected]>
---
 datapath/tunnel.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/datapath/tunnel.c b/datapath/tunnel.c
index 7e0c8ee..98af303 100644
--- a/datapath/tunnel.c
+++ b/datapath/tunnel.c
@@ -1314,9 +1314,9 @@ next:
 error_free:
        tnl_free_linked_skbs(skb);
 error:
-       dst_release(unattached_dst);
        vport_record_error(vport, err);
 out:
+       dst_release(unattached_dst);
        return sent_len;
 }
 
-- 
1.7.1


_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev_openvswitch.org

Reply via email to