From a28e936f89c058fe93dbcdb881d091497e9a06e7 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Wed, 4 Feb 2009 16:55:27 -0800 Subject: [PATCH] --- yaml --- r: 134297 b: refs/heads/master c: 9a279bcbe347496799711155ed41a89bc40f79c5 h: refs/heads/master i: 134295: acfef3f35470bbdf9ccddfe15ad57d6013810ad9 v: v3 --- [refs] | 2 +- trunk/net/core/dev.c | 2 ++ trunk/net/netfilter/nf_tproxy_core.c | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 57f9bfc73974..432f24afe12f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7870389478d3c682c79c07abe7f1fce8b8a81952 +refs/heads/master: 9a279bcbe347496799711155ed41a89bc40f79c5 diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 220f52a1001e..3337cf98f231 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -2288,6 +2288,8 @@ int netif_receive_skb(struct sk_buff *skb) if (!skb) goto out; + skb_orphan(skb); + type = skb->protocol; list_for_each_entry_rcu(ptype, &ptype_base[ntohs(type) & PTYPE_HASH_MASK], list) { diff --git a/trunk/net/netfilter/nf_tproxy_core.c b/trunk/net/netfilter/nf_tproxy_core.c index cdc97f3105a3..5490fc37c92d 100644 --- a/trunk/net/netfilter/nf_tproxy_core.c +++ b/trunk/net/netfilter/nf_tproxy_core.c @@ -71,6 +71,7 @@ int nf_tproxy_assign_sock(struct sk_buff *skb, struct sock *sk) { if (inet_sk(sk)->transparent) { + skb_orphan(skb); skb->sk = sk; skb->destructor = nf_tproxy_destructor; return 1;