aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2007-07-18 05:04:39 -0400
committerDavid S. Miller <davem@davemloft.net>2007-07-18 05:04:39 -0400
commitf77ae9390438409b535f3b1854672e54120cd38b (patch)
tree78abc13739257460d7d6e4ed97c840cf41b53fb7 /drivers/net
parent7d4372b5ae2f891e8bfa96c98d450255f58b4dc1 (diff)
[PPPOL2TP]: Reset meta-data in xmit function
Reset netfilter data and IP CB, fix dst_entry leak. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/pppol2tp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/pppol2tp.c b/drivers/net/pppol2tp.c
index 856610f0624e..f87176055d0e 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)
1049 printk("\n"); 1049 printk("\n");
1050 } 1050 }
1051 1051
1052 memset(&(IPCB(skb2)->opt), 0, sizeof(IPCB(skb2)->opt));
1053 IPCB(skb2)->flags &= ~(IPSKB_XFRM_TUNNEL_SIZE | IPSKB_XFRM_TRANSFORMED |
1054 IPSKB_REROUTED);
1055 nf_reset(skb2);
1056
1052 /* Get routing info from the tunnel socket */ 1057 /* Get routing info from the tunnel socket */
1058 dst_release(skb2->dst);
1053 skb2->dst = sk_dst_get(sk_tun); 1059 skb2->dst = sk_dst_get(sk_tun);
1054 1060
1055 /* Queue the packet to IP for output */ 1061 /* Queue the packet to IP for output */