diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/ip_fragment.c | 1 | ||||
-rw-r--r-- | net/ipv4/netfilter/nf_defrag_ipv4.c | 2 |
2 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c index 3f00810b7288..187c6fcc3027 100644 --- a/net/ipv4/ip_fragment.c +++ b/net/ipv4/ip_fragment.c | |||
@@ -661,6 +661,7 @@ int ip_defrag(struct net *net, struct sk_buff *skb, u32 user) | |||
661 | struct ipq *qp; | 661 | struct ipq *qp; |
662 | 662 | ||
663 | IP_INC_STATS_BH(net, IPSTATS_MIB_REASMREQDS); | 663 | IP_INC_STATS_BH(net, IPSTATS_MIB_REASMREQDS); |
664 | skb_orphan(skb); | ||
664 | 665 | ||
665 | /* Lookup (or create) queue header */ | 666 | /* Lookup (or create) queue header */ |
666 | qp = ip_find(net, ip_hdr(skb), user, vif); | 667 | qp = ip_find(net, ip_hdr(skb), user, vif); |
diff --git a/net/ipv4/netfilter/nf_defrag_ipv4.c b/net/ipv4/netfilter/nf_defrag_ipv4.c index 6fb869f646bf..a04dee536b8e 100644 --- a/net/ipv4/netfilter/nf_defrag_ipv4.c +++ b/net/ipv4/netfilter/nf_defrag_ipv4.c | |||
@@ -27,8 +27,6 @@ static int nf_ct_ipv4_gather_frags(struct net *net, struct sk_buff *skb, | |||
27 | { | 27 | { |
28 | int err; | 28 | int err; |
29 | 29 | ||
30 | skb_orphan(skb); | ||
31 | |||
32 | local_bh_disable(); | 30 | local_bh_disable(); |
33 | err = ip_defrag(net, skb, user); | 31 | err = ip_defrag(net, skb, user); |
34 | local_bh_enable(); | 32 | local_bh_enable(); |