Thread (20 messages) 20 messages, 4 authors, 2015-10-01

Re: [PATCH net 3/7] openvswitch: Fix skb leak in ovs_fragment()

From: Rustad, Mark D <hidden>
Date: 2015-09-29 22:49:12
Also in: lkml

quoted hunk ↗ jump to hunk
On Sep 29, 2015, at 3:39 PM, Joe Stringer [off-list ref] wrote:
@@ -728,8 +727,14 @@ static void ovs_fragment(struct vport *vport, struct sk_buff *skb, u16 mru,
		WARN_ONCE(1, "Failed fragment ->%s: eth=%04x, MRU=%d, MTU=%d.",
			  ovs_vport_name(vport), ntohs(ethertype), mru,
			  vport->dev->mtu);
-		kfree_skb(skb);
+		goto out;
	}
+
+	skb = NULL;
+
+out:
+	if (skb)
+		kfree_skb(skb);
}

static void do_output(struct datapath *dp, struct sk_buff *skb, int out_port,
Wouldn't that hunk be better as:
@@ -728,8 +727,13 @@ static void ovs_fragment(struct vport *vport, struct sk_buff *skb, u16 mru,
		WARN_ONCE(1, "Failed fragment ->%s: eth=%04x, MRU=%d, MTU=%d.",
			  ovs_vport_name(vport), ntohs(ethertype), mru,
			  vport->dev->mtu);
-		kfree_skb(skb);
+		goto out;
	}
+
+	return;
+
+out:
+	kfree_skb(skb);
}

static void do_output(struct datapath *dp, struct sk_buff *skb, int out_port,

--
Mark Rustad, Networking Division, Intel Corporation

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help