ip_frag: struct inet_frags match() method returns a bool
[deliverable/linux.git] / net / ipv6 / reassembly.c
index 9447bd69873af6b7bb8979547eab9bd7624b6bd4..5d32dfa4d75aaee6d2748cd526fe9af0fb247572 100644 (file)
@@ -134,15 +134,16 @@ static unsigned int ip6_hashfn(struct inet_frag_queue *q)
        return inet6_hash_frag(fq->id, &fq->saddr, &fq->daddr, ip6_frags.rnd);
 }
 
-int ip6_frag_match(struct inet_frag_queue *q, void *a)
+bool ip6_frag_match(struct inet_frag_queue *q, void *a)
 {
        struct frag_queue *fq;
        struct ip6_create_arg *arg = a;
 
        fq = container_of(q, struct frag_queue, q);
-       return (fq->id == arg->id && fq->user == arg->user &&
-                       ipv6_addr_equal(&fq->saddr, arg->src) &&
-                       ipv6_addr_equal(&fq->daddr, arg->dst));
+       return  fq->id == arg->id &&
+               fq->user == arg->user &&
+               ipv6_addr_equal(&fq->saddr, arg->src) &&
+               ipv6_addr_equal(&fq->daddr, arg->dst);
 }
 EXPORT_SYMBOL(ip6_frag_match);
 
@@ -433,7 +434,7 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff *prev,
                skb_morph(head, fq->q.fragments);
                head->next = fq->q.fragments->next;
 
-               kfree_skb(fq->q.fragments);
+               consume_skb(fq->q.fragments);
                fq->q.fragments = head;
        }
 
@@ -518,12 +519,10 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff *prev,
        return 1;
 
 out_oversize:
-       if (net_ratelimit())
-               printk(KERN_DEBUG "ip6_frag_reasm: payload len = %d\n", payload_len);
+       net_dbg_ratelimited("ip6_frag_reasm: payload len = %d\n", payload_len);
        goto out_fail;
 out_oom:
-       if (net_ratelimit())
-               printk(KERN_DEBUG "ip6_frag_reasm: no memory for reassembly\n");
+       net_dbg_ratelimited("ip6_frag_reasm: no memory for reassembly\n");
 out_fail:
        rcu_read_lock();
        IP6_INC_STATS_BH(net, __in6_dev_get(dev), IPSTATS_MIB_REASMFAILS);
@@ -646,7 +645,7 @@ static int __net_init ip6_frags_ns_sysctl_register(struct net *net)
                table[2].data = &net->ipv6.frags.timeout;
        }
 
-       hdr = register_net_sysctl_table(net, net_ipv6_ctl_path, table);
+       hdr = register_net_sysctl(net, "net/ipv6", table);
        if (hdr == NULL)
                goto err_reg;
 
@@ -674,7 +673,7 @@ static struct ctl_table_header *ip6_ctl_header;
 
 static int ip6_frags_sysctl_register(void)
 {
-       ip6_ctl_header = register_net_sysctl_rotable(net_ipv6_ctl_path,
+       ip6_ctl_header = register_net_sysctl(&init_net, "net/ipv6",
                        ip6_frags_ctl_table);
        return ip6_ctl_header == NULL ? -ENOMEM : 0;
 }
This page took 0.044919 seconds and 5 git commands to generate.