diff options
-rw-r--r-- | net/ipv6/reassembly.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index fa38fc7cc6e9..fe27eb4264d6 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c | |||
@@ -237,8 +237,7 @@ out: | |||
237 | } | 237 | } |
238 | 238 | ||
239 | static __inline__ struct frag_queue * | 239 | static __inline__ struct frag_queue * |
240 | fq_find(struct net *net, __be32 id, struct in6_addr *src, struct in6_addr *dst, | 240 | fq_find(struct net *net, __be32 id, struct in6_addr *src, struct in6_addr *dst) |
241 | struct inet6_dev *idev) | ||
242 | { | 241 | { |
243 | struct inet_frag_queue *q; | 242 | struct inet_frag_queue *q; |
244 | struct ip6_create_arg arg; | 243 | struct ip6_create_arg arg; |
@@ -254,13 +253,9 @@ fq_find(struct net *net, __be32 id, struct in6_addr *src, struct in6_addr *dst, | |||
254 | 253 | ||
255 | q = inet_frag_find(&net->ipv6.frags, &ip6_frags, &arg, hash); | 254 | q = inet_frag_find(&net->ipv6.frags, &ip6_frags, &arg, hash); |
256 | if (q == NULL) | 255 | if (q == NULL) |
257 | goto oom; | 256 | return NULL; |
258 | 257 | ||
259 | return container_of(q, struct frag_queue, q); | 258 | return container_of(q, struct frag_queue, q); |
260 | |||
261 | oom: | ||
262 | IP6_INC_STATS_BH(net, idev, IPSTATS_MIB_REASMFAILS); | ||
263 | return NULL; | ||
264 | } | 259 | } |
265 | 260 | ||
266 | static int ip6_frag_queue(struct frag_queue *fq, struct sk_buff *skb, | 261 | static int ip6_frag_queue(struct frag_queue *fq, struct sk_buff *skb, |
@@ -606,8 +601,8 @@ static int ipv6_frag_rcv(struct sk_buff *skb) | |||
606 | if (atomic_read(&net->ipv6.frags.mem) > net->ipv6.frags.high_thresh) | 601 | if (atomic_read(&net->ipv6.frags.mem) > net->ipv6.frags.high_thresh) |
607 | ip6_evictor(net, ip6_dst_idev(skb_dst(skb))); | 602 | ip6_evictor(net, ip6_dst_idev(skb_dst(skb))); |
608 | 603 | ||
609 | if ((fq = fq_find(net, fhdr->identification, &hdr->saddr, &hdr->daddr, | 604 | fq = fq_find(net, fhdr->identification, &hdr->saddr, &hdr->daddr); |
610 | ip6_dst_idev(skb_dst(skb)))) != NULL) { | 605 | if (fq != NULL) { |
611 | int ret; | 606 | int ret; |
612 | 607 | ||
613 | spin_lock(&fq->q.lock); | 608 | spin_lock(&fq->q.lock); |