From f65503c2e2c78ed6f97236969f33224f4819d969 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 19 May 2005 12:36:33 -0700 Subject: [PATCH] --- yaml --- r: 1263 b: refs/heads/master c: 8be58932ca596972e4953ae980d8bc286857cae8 h: refs/heads/master i: 1261: 5372ca52503afaa5d94e55cbd8d3f25657e0ee75 1259: 65606f65f189ab023bc7d672ded3ca30de34fb63 1255: 00be6610a909612937fff613505406e1f295975c 1247: f422a7e5b40cfc15c305a2294b85ebec59e4bb94 v: v3 --- [refs] | 2 +- trunk/net/ipv4/netfilter/ip_conntrack_core.c | 28 ++++++-------------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/[refs] b/[refs] index 8bb12354a09a..3e76f7d8f9a6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d9fa0f392b20b2b8e3df379c44194492a2446c6e +refs/heads/master: 8be58932ca596972e4953ae980d8bc286857cae8 diff --git a/trunk/net/ipv4/netfilter/ip_conntrack_core.c b/trunk/net/ipv4/netfilter/ip_conntrack_core.c index 28d9425d5c39..09e824622977 100644 --- a/trunk/net/ipv4/netfilter/ip_conntrack_core.c +++ b/trunk/net/ipv4/netfilter/ip_conntrack_core.c @@ -940,37 +940,25 @@ void ip_ct_refresh_acct(struct ip_conntrack *ct, struct sk_buff * ip_ct_gather_frags(struct sk_buff *skb, u_int32_t user) { - struct sock *sk = skb->sk; #ifdef CONFIG_NETFILTER_DEBUG unsigned int olddebug = skb->nf_debug; #endif - if (sk) { - sock_hold(sk); - skb_orphan(skb); - } + skb_orphan(skb); local_bh_disable(); skb = ip_defrag(skb, user); local_bh_enable(); - if (!skb) { - if (sk) - sock_put(sk); - return skb; - } - - if (sk) { - skb_set_owner_w(skb, sk); - sock_put(sk); - } - - ip_send_check(skb->nh.iph); - skb->nfcache |= NFC_ALTERED; + if (skb) { + ip_send_check(skb->nh.iph); + skb->nfcache |= NFC_ALTERED; #ifdef CONFIG_NETFILTER_DEBUG - /* Packet path as if nothing had happened. */ - skb->nf_debug = olddebug; + /* Packet path as if nothing had happened. */ + skb->nf_debug = olddebug; #endif + } + return skb; }