Commit 36c77782 authored by Florian Westphal's avatar Florian Westphal Committed by David S. Miller

inet: frag: constify match, hashfn and constructor arguments

Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ac3d2e5a
...@@ -71,10 +71,11 @@ struct inet_frags { ...@@ -71,10 +71,11 @@ struct inet_frags {
u32 rnd; u32 rnd;
int qsize; int qsize;
unsigned int (*hashfn)(struct inet_frag_queue *); unsigned int (*hashfn)(const struct inet_frag_queue *);
bool (*match)(struct inet_frag_queue *q, void *arg); bool (*match)(const struct inet_frag_queue *q,
const void *arg);
void (*constructor)(struct inet_frag_queue *q, void (*constructor)(struct inet_frag_queue *q,
void *arg); const void *arg);
void (*destructor)(struct inet_frag_queue *); void (*destructor)(struct inet_frag_queue *);
void (*skb_free)(struct sk_buff *); void (*skb_free)(struct sk_buff *);
void (*frag_expire)(unsigned long data); void (*frag_expire)(unsigned long data);
...@@ -131,9 +132,9 @@ static inline void init_frag_mem_limit(struct netns_frags *nf) ...@@ -131,9 +132,9 @@ static inline void init_frag_mem_limit(struct netns_frags *nf)
percpu_counter_init(&nf->mem, 0); percpu_counter_init(&nf->mem, 0);
} }
static inline int sum_frag_mem_limit(struct netns_frags *nf) static inline unsigned int sum_frag_mem_limit(struct netns_frags *nf)
{ {
int res; unsigned int res;
local_bh_disable(); local_bh_disable();
res = percpu_counter_sum_positive(&nf->mem); res = percpu_counter_sum_positive(&nf->mem);
......
...@@ -496,8 +496,8 @@ struct ip6_create_arg { ...@@ -496,8 +496,8 @@ struct ip6_create_arg {
u8 ecn; u8 ecn;
}; };
void ip6_frag_init(struct inet_frag_queue *q, void *a); void ip6_frag_init(struct inet_frag_queue *q, const void *a);
bool ip6_frag_match(struct inet_frag_queue *q, void *a); bool ip6_frag_match(const struct inet_frag_queue *q, const void *a);
/* /*
* Equivalent of ipv4 struct ip * Equivalent of ipv4 struct ip
......
...@@ -61,18 +61,18 @@ static unsigned int lowpan_hash_frag(__be16 tag, u16 d_size, ...@@ -61,18 +61,18 @@ static unsigned int lowpan_hash_frag(__be16 tag, u16 d_size,
return c & (INETFRAGS_HASHSZ - 1); return c & (INETFRAGS_HASHSZ - 1);
} }
static unsigned int lowpan_hashfn(struct inet_frag_queue *q) static unsigned int lowpan_hashfn(const struct inet_frag_queue *q)
{ {
struct lowpan_frag_queue *fq; const struct lowpan_frag_queue *fq;
fq = container_of(q, struct lowpan_frag_queue, q); fq = container_of(q, struct lowpan_frag_queue, q);
return lowpan_hash_frag(fq->tag, fq->d_size, &fq->saddr, &fq->daddr); return lowpan_hash_frag(fq->tag, fq->d_size, &fq->saddr, &fq->daddr);
} }
static bool lowpan_frag_match(struct inet_frag_queue *q, void *a) static bool lowpan_frag_match(const struct inet_frag_queue *q, const void *a)
{ {
struct lowpan_frag_queue *fq; const struct lowpan_frag_queue *fq;
struct lowpan_create_arg *arg = a; const struct lowpan_create_arg *arg = a;
fq = container_of(q, struct lowpan_frag_queue, q); fq = container_of(q, struct lowpan_frag_queue, q);
return fq->tag == arg->tag && fq->d_size == arg->d_size && return fq->tag == arg->tag && fq->d_size == arg->d_size &&
...@@ -80,10 +80,10 @@ static bool lowpan_frag_match(struct inet_frag_queue *q, void *a) ...@@ -80,10 +80,10 @@ static bool lowpan_frag_match(struct inet_frag_queue *q, void *a)
ieee802154_addr_equal(&fq->daddr, arg->dst); ieee802154_addr_equal(&fq->daddr, arg->dst);
} }
static void lowpan_frag_init(struct inet_frag_queue *q, void *a) static void lowpan_frag_init(struct inet_frag_queue *q, const void *a)
{ {
const struct lowpan_create_arg *arg = a;
struct lowpan_frag_queue *fq; struct lowpan_frag_queue *fq;
struct lowpan_create_arg *arg = a;
fq = container_of(q, struct lowpan_frag_queue, q); fq = container_of(q, struct lowpan_frag_queue, q);
......
...@@ -112,18 +112,18 @@ static unsigned int ipqhashfn(__be16 id, __be32 saddr, __be32 daddr, u8 prot) ...@@ -112,18 +112,18 @@ static unsigned int ipqhashfn(__be16 id, __be32 saddr, __be32 daddr, u8 prot)
ip4_frags.rnd) & (INETFRAGS_HASHSZ - 1); ip4_frags.rnd) & (INETFRAGS_HASHSZ - 1);
} }
static unsigned int ip4_hashfn(struct inet_frag_queue *q) static unsigned int ip4_hashfn(const struct inet_frag_queue *q)
{ {
struct ipq *ipq; const struct ipq *ipq;
ipq = container_of(q, struct ipq, q); ipq = container_of(q, struct ipq, q);
return ipqhashfn(ipq->id, ipq->saddr, ipq->daddr, ipq->protocol); return ipqhashfn(ipq->id, ipq->saddr, ipq->daddr, ipq->protocol);
} }
static bool ip4_frag_match(struct inet_frag_queue *q, void *a) static bool ip4_frag_match(const struct inet_frag_queue *q, const void *a)
{ {
struct ipq *qp; const struct ipq *qp;
struct ip4_create_arg *arg = a; const struct ip4_create_arg *arg = a;
qp = container_of(q, struct ipq, q); qp = container_of(q, struct ipq, q);
return qp->id == arg->iph->id && return qp->id == arg->iph->id &&
...@@ -133,14 +133,14 @@ static bool ip4_frag_match(struct inet_frag_queue *q, void *a) ...@@ -133,14 +133,14 @@ static bool ip4_frag_match(struct inet_frag_queue *q, void *a)
qp->user == arg->user; qp->user == arg->user;
} }
static void ip4_frag_init(struct inet_frag_queue *q, void *a) static void ip4_frag_init(struct inet_frag_queue *q, const void *a)
{ {
struct ipq *qp = container_of(q, struct ipq, q); struct ipq *qp = container_of(q, struct ipq, q);
struct netns_ipv4 *ipv4 = container_of(q->net, struct netns_ipv4, struct netns_ipv4 *ipv4 = container_of(q->net, struct netns_ipv4,
frags); frags);
struct net *net = container_of(ipv4, struct net, ipv4); struct net *net = container_of(ipv4, struct net, ipv4);
struct ip4_create_arg *arg = a; const struct ip4_create_arg *arg = a;
qp->protocol = arg->iph->protocol; qp->protocol = arg->iph->protocol;
qp->id = arg->iph->id; qp->id = arg->iph->id;
......
...@@ -156,7 +156,7 @@ static unsigned int nf_hash_frag(__be32 id, const struct in6_addr *saddr, ...@@ -156,7 +156,7 @@ static unsigned int nf_hash_frag(__be32 id, const struct in6_addr *saddr,
} }
static unsigned int nf_hashfn(struct inet_frag_queue *q) static unsigned int nf_hashfn(const struct inet_frag_queue *q)
{ {
const struct frag_queue *nq; const struct frag_queue *nq;
......
...@@ -94,18 +94,18 @@ static unsigned int inet6_hash_frag(__be32 id, const struct in6_addr *saddr, ...@@ -94,18 +94,18 @@ static unsigned int inet6_hash_frag(__be32 id, const struct in6_addr *saddr,
return c & (INETFRAGS_HASHSZ - 1); return c & (INETFRAGS_HASHSZ - 1);
} }
static unsigned int ip6_hashfn(struct inet_frag_queue *q) static unsigned int ip6_hashfn(const struct inet_frag_queue *q)
{ {
struct frag_queue *fq; const struct frag_queue *fq;
fq = container_of(q, struct frag_queue, q); fq = container_of(q, struct frag_queue, q);
return inet6_hash_frag(fq->id, &fq->saddr, &fq->daddr); return inet6_hash_frag(fq->id, &fq->saddr, &fq->daddr);
} }
bool ip6_frag_match(struct inet_frag_queue *q, void *a) bool ip6_frag_match(const struct inet_frag_queue *q, const void *a)
{ {
struct frag_queue *fq; const struct frag_queue *fq;
struct ip6_create_arg *arg = a; const struct ip6_create_arg *arg = a;
fq = container_of(q, struct frag_queue, q); fq = container_of(q, struct frag_queue, q);
return fq->id == arg->id && return fq->id == arg->id &&
...@@ -115,10 +115,10 @@ bool ip6_frag_match(struct inet_frag_queue *q, void *a) ...@@ -115,10 +115,10 @@ bool ip6_frag_match(struct inet_frag_queue *q, void *a)
} }
EXPORT_SYMBOL(ip6_frag_match); EXPORT_SYMBOL(ip6_frag_match);
void ip6_frag_init(struct inet_frag_queue *q, void *a) void ip6_frag_init(struct inet_frag_queue *q, const void *a)
{ {
struct frag_queue *fq = container_of(q, struct frag_queue, q); struct frag_queue *fq = container_of(q, struct frag_queue, q);
struct ip6_create_arg *arg = a; const struct ip6_create_arg *arg = a;
fq->id = arg->id; fq->id = arg->id;
fq->user = arg->user; fq->user = arg->user;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment