From 4a022808a1673fd9538700714a4c946230b9fd2d Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Fri, 26 Jun 2009 19:22:37 -0700 Subject: [PATCH] --- yaml --- r: 154500 b: refs/heads/master c: 71f9dacd2e4d233029e9e956ca3f79531f411827 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/ipv4/ip_input.c | 3 +++ trunk/net/ipv6/ip6_input.c | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4873e1b83a9c..b0c89109e208 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a27096bbe2cad4c6e78802a0d9dfe0e598a1129 +refs/heads/master: 71f9dacd2e4d233029e9e956ca3f79531f411827 diff --git a/trunk/net/ipv4/ip_input.c b/trunk/net/ipv4/ip_input.c index 490ce20faf38..db46b4b5b2b9 100644 --- a/trunk/net/ipv4/ip_input.c +++ b/trunk/net/ipv4/ip_input.c @@ -440,6 +440,9 @@ int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt, /* Remove any debris in the socket control block */ memset(IPCB(skb), 0, sizeof(struct inet_skb_parm)); + /* Must drop socket now because of tproxy. */ + skb_orphan(skb); + return NF_HOOK(PF_INET, NF_INET_PRE_ROUTING, skb, dev, NULL, ip_rcv_finish); diff --git a/trunk/net/ipv6/ip6_input.c b/trunk/net/ipv6/ip6_input.c index c3a07d75b5f5..6d6a4277c677 100644 --- a/trunk/net/ipv6/ip6_input.c +++ b/trunk/net/ipv6/ip6_input.c @@ -139,6 +139,9 @@ int ipv6_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt rcu_read_unlock(); + /* Must drop socket now because of tproxy. */ + skb_orphan(skb); + return NF_HOOK(PF_INET6, NF_INET_PRE_ROUTING, skb, dev, NULL, ip6_rcv_finish); err: