Subject: [PPPOL2TP 2/2]: Reset meta-data in xmit function

From: Patrick McHardy <[email-masked]>
Date: Tue, 17 Jul 2007 14:19:50 +0200

[PPPOL2TP]: Reset meta-data in xmit function

Reset netfilter data and IP CB, fix dst_entry leak.

Signed-off-by: Patrick McHardy <[email-masked]>

---
commit 308ac1b6249226730b70fcf7c13a289c27ce2bf3
tree ea05987add4c9423af023e4bc9ca773ab70568c3
parent 86394ab99d7a4532cf23f8d456aecfa6e3085dfd
author Patrick McHardy <[email-masked]> Tue, 17 Jul 2007 14:16:51 +0200
committer Patrick McHardy <[email-masked]> Tue, 17 Jul 2007 14:16:51 +0200

 drivers/net/pppol2tp.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/net/pppol2tp.c b/drivers/net/pppol2tp.c
index 856610f..f871760 100644
--- a/drivers/net/pppol2tp.c
+++ b/drivers/net/pppol2tp.c
@@ -1049,7 +1049,13 @@ static int pppol2tp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
 		printk("\n");
 	}
 
+	memset(&(IPCB(skb2)->opt), 0, sizeof(IPCB(skb2)->opt));
+	IPCB(skb2)->flags &= ~(IPSKB_XFRM_TUNNEL_SIZE | IPSKB_XFRM_TRANSFORMED |
+			       IPSKB_REROUTED);
+	nf_reset(skb2);
+
 	/* Get routing info from the tunnel socket */
+	dst_release(skb2->dst);
 	skb2->dst = sk_dst_get(sk_tun);
 
 	/* Queue the packet to IP for output */