diff options
-rw-r--r-- | include/net/inet6_hashtables.h | 16 | ||||
-rw-r--r-- | net/ipv6/inet6_hashtables.c | 6 |
2 files changed, 11 insertions, 11 deletions
diff --git a/include/net/inet6_hashtables.h b/include/net/inet6_hashtables.h index bc6a71dce984..c28e424f53d9 100644 --- a/include/net/inet6_hashtables.h +++ b/include/net/inet6_hashtables.h | |||
@@ -26,11 +26,11 @@ struct inet_hashinfo; | |||
26 | 26 | ||
27 | /* I have no idea if this is a good hash for v6 or not. -DaveM */ | 27 | /* I have no idea if this is a good hash for v6 or not. -DaveM */ |
28 | static inline unsigned int inet6_ehashfn(const struct in6_addr *laddr, const u16 lport, | 28 | static inline unsigned int inet6_ehashfn(const struct in6_addr *laddr, const u16 lport, |
29 | const struct in6_addr *faddr, const u16 fport) | 29 | const struct in6_addr *faddr, const __be16 fport) |
30 | { | 30 | { |
31 | unsigned int hashent = (lport ^ fport); | 31 | unsigned int hashent = (lport ^ (__force u16)fport); |
32 | 32 | ||
33 | hashent ^= (laddr->s6_addr32[3] ^ faddr->s6_addr32[3]); | 33 | hashent ^= (__force u32)(laddr->s6_addr32[3] ^ faddr->s6_addr32[3]); |
34 | hashent ^= hashent >> 16; | 34 | hashent ^= hashent >> 16; |
35 | hashent ^= hashent >> 8; | 35 | hashent ^= hashent >> 8; |
36 | return hashent; | 36 | return hashent; |
@@ -43,7 +43,7 @@ static inline int inet6_sk_ehashfn(const struct sock *sk) | |||
43 | const struct in6_addr *laddr = &np->rcv_saddr; | 43 | const struct in6_addr *laddr = &np->rcv_saddr; |
44 | const struct in6_addr *faddr = &np->daddr; | 44 | const struct in6_addr *faddr = &np->daddr; |
45 | const __u16 lport = inet->num; | 45 | const __u16 lport = inet->num; |
46 | const __u16 fport = inet->dport; | 46 | const __be16 fport = inet->dport; |
47 | return inet6_ehashfn(laddr, lport, faddr, fport); | 47 | return inet6_ehashfn(laddr, lport, faddr, fport); |
48 | } | 48 | } |
49 | 49 | ||
@@ -57,7 +57,7 @@ extern void __inet6_hash(struct inet_hashinfo *hashinfo, struct sock *sk); | |||
57 | */ | 57 | */ |
58 | extern struct sock *__inet6_lookup_established(struct inet_hashinfo *hashinfo, | 58 | extern struct sock *__inet6_lookup_established(struct inet_hashinfo *hashinfo, |
59 | const struct in6_addr *saddr, | 59 | const struct in6_addr *saddr, |
60 | const u16 sport, | 60 | const __be16 sport, |
61 | const struct in6_addr *daddr, | 61 | const struct in6_addr *daddr, |
62 | const u16 hnum, | 62 | const u16 hnum, |
63 | const int dif); | 63 | const int dif); |
@@ -69,7 +69,7 @@ extern struct sock *inet6_lookup_listener(struct inet_hashinfo *hashinfo, | |||
69 | 69 | ||
70 | static inline struct sock *__inet6_lookup(struct inet_hashinfo *hashinfo, | 70 | static inline struct sock *__inet6_lookup(struct inet_hashinfo *hashinfo, |
71 | const struct in6_addr *saddr, | 71 | const struct in6_addr *saddr, |
72 | const u16 sport, | 72 | const __be16 sport, |
73 | const struct in6_addr *daddr, | 73 | const struct in6_addr *daddr, |
74 | const u16 hnum, | 74 | const u16 hnum, |
75 | const int dif) | 75 | const int dif) |
@@ -83,8 +83,8 @@ static inline struct sock *__inet6_lookup(struct inet_hashinfo *hashinfo, | |||
83 | } | 83 | } |
84 | 84 | ||
85 | extern struct sock *inet6_lookup(struct inet_hashinfo *hashinfo, | 85 | extern struct sock *inet6_lookup(struct inet_hashinfo *hashinfo, |
86 | const struct in6_addr *saddr, const u16 sport, | 86 | const struct in6_addr *saddr, const __be16 sport, |
87 | const struct in6_addr *daddr, const u16 dport, | 87 | const struct in6_addr *daddr, const __be16 dport, |
88 | const int dif); | 88 | const int dif); |
89 | #endif /* defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) */ | 89 | #endif /* defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) */ |
90 | #endif /* _INET6_HASHTABLES_H */ | 90 | #endif /* _INET6_HASHTABLES_H */ |
diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c index 8accd1fbeeda..b7e5bae0e347 100644 --- a/net/ipv6/inet6_hashtables.c +++ b/net/ipv6/inet6_hashtables.c | |||
@@ -57,7 +57,7 @@ EXPORT_SYMBOL(__inet6_hash); | |||
57 | */ | 57 | */ |
58 | struct sock *__inet6_lookup_established(struct inet_hashinfo *hashinfo, | 58 | struct sock *__inet6_lookup_established(struct inet_hashinfo *hashinfo, |
59 | const struct in6_addr *saddr, | 59 | const struct in6_addr *saddr, |
60 | const u16 sport, | 60 | const __be16 sport, |
61 | const struct in6_addr *daddr, | 61 | const struct in6_addr *daddr, |
62 | const u16 hnum, | 62 | const u16 hnum, |
63 | const int dif) | 63 | const int dif) |
@@ -146,8 +146,8 @@ struct sock *inet6_lookup_listener(struct inet_hashinfo *hashinfo, | |||
146 | EXPORT_SYMBOL_GPL(inet6_lookup_listener); | 146 | EXPORT_SYMBOL_GPL(inet6_lookup_listener); |
147 | 147 | ||
148 | struct sock *inet6_lookup(struct inet_hashinfo *hashinfo, | 148 | struct sock *inet6_lookup(struct inet_hashinfo *hashinfo, |
149 | const struct in6_addr *saddr, const u16 sport, | 149 | const struct in6_addr *saddr, const __be16 sport, |
150 | const struct in6_addr *daddr, const u16 dport, | 150 | const struct in6_addr *daddr, const __be16 dport, |
151 | const int dif) | 151 | const int dif) |
152 | { | 152 | { |
153 | struct sock *sk; | 153 | struct sock *sk; |