Commit fb99c848 authored by Al Viro's avatar Al Viro Committed by David S. Miller

[IPV4]: annotate inet_lookup() and friends

inet_lookup() annotated along with helper functions (__inet_lookup(),
__inet_lookup_established(), inet_lookup_established(),
inet_lookup_listener(), __inet_lookup_listener() and inet_ehashfn())
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4f765d84
...@@ -272,12 +272,12 @@ static inline int inet_iif(const struct sk_buff *skb) ...@@ -272,12 +272,12 @@ static inline int inet_iif(const struct sk_buff *skb)
} }
extern struct sock *__inet_lookup_listener(struct inet_hashinfo *hashinfo, extern struct sock *__inet_lookup_listener(struct inet_hashinfo *hashinfo,
const u32 daddr, const __be32 daddr,
const unsigned short hnum, const unsigned short hnum,
const int dif); const int dif);
static inline struct sock *inet_lookup_listener(struct inet_hashinfo *hashinfo, static inline struct sock *inet_lookup_listener(struct inet_hashinfo *hashinfo,
u32 daddr, u16 dport, int dif) __be32 daddr, __be16 dport, int dif)
{ {
return __inet_lookup_listener(hashinfo, daddr, ntohs(dport), dif); return __inet_lookup_listener(hashinfo, daddr, ntohs(dport), dif);
} }
...@@ -347,8 +347,8 @@ typedef __u64 __bitwise __addrpair; ...@@ -347,8 +347,8 @@ typedef __u64 __bitwise __addrpair;
*/ */
static inline struct sock * static inline struct sock *
__inet_lookup_established(struct inet_hashinfo *hashinfo, __inet_lookup_established(struct inet_hashinfo *hashinfo,
const u32 saddr, const u16 sport, const __be32 saddr, const __be16 sport,
const u32 daddr, const u16 hnum, const __be32 daddr, const u16 hnum,
const int dif) const int dif)
{ {
INET_ADDR_COOKIE(acookie, saddr, daddr) INET_ADDR_COOKIE(acookie, saddr, daddr)
...@@ -384,8 +384,8 @@ static inline struct sock * ...@@ -384,8 +384,8 @@ static inline struct sock *
static inline struct sock * static inline struct sock *
inet_lookup_established(struct inet_hashinfo *hashinfo, inet_lookup_established(struct inet_hashinfo *hashinfo,
const u32 saddr, const u16 sport, const __be32 saddr, const __be16 sport,
const u32 daddr, const u16 dport, const __be32 daddr, const __be16 dport,
const int dif) const int dif)
{ {
return __inet_lookup_established(hashinfo, saddr, sport, daddr, return __inet_lookup_established(hashinfo, saddr, sport, daddr,
...@@ -393,8 +393,8 @@ static inline struct sock * ...@@ -393,8 +393,8 @@ static inline struct sock *
} }
static inline struct sock *__inet_lookup(struct inet_hashinfo *hashinfo, static inline struct sock *__inet_lookup(struct inet_hashinfo *hashinfo,
const u32 saddr, const u16 sport, const __be32 saddr, const __be16 sport,
const u32 daddr, const u16 dport, const __be32 daddr, const __be16 dport,
const int dif) const int dif)
{ {
u16 hnum = ntohs(dport); u16 hnum = ntohs(dport);
...@@ -404,8 +404,8 @@ static inline struct sock *__inet_lookup(struct inet_hashinfo *hashinfo, ...@@ -404,8 +404,8 @@ static inline struct sock *__inet_lookup(struct inet_hashinfo *hashinfo,
} }
static inline struct sock *inet_lookup(struct inet_hashinfo *hashinfo, static inline struct sock *inet_lookup(struct inet_hashinfo *hashinfo,
const u32 saddr, const u16 sport, const __be32 saddr, const __be16 sport,
const u32 daddr, const u16 dport, const __be32 daddr, const __be16 dport,
const int dif) const int dif)
{ {
struct sock *sk; struct sock *sk;
......
...@@ -167,10 +167,10 @@ static inline void inet_sk_copy_descendant(struct sock *sk_to, ...@@ -167,10 +167,10 @@ static inline void inet_sk_copy_descendant(struct sock *sk_to,
extern int inet_sk_rebuild_header(struct sock *sk); extern int inet_sk_rebuild_header(struct sock *sk);
static inline unsigned int inet_ehashfn(const __u32 laddr, const __u16 lport, static inline unsigned int inet_ehashfn(const __be32 laddr, const __u16 lport,
const __u32 faddr, const __u16 fport) const __be32 faddr, const __be16 fport)
{ {
unsigned int h = (laddr ^ lport) ^ (faddr ^ fport); unsigned int h = ((__force __u32)laddr ^ lport) ^ ((__force __u32)faddr ^ (__force __u32)fport);
h ^= h >> 16; h ^= h >> 16;
h ^= h >> 8; h ^= h >> 8;
return h; return h;
...@@ -179,10 +179,10 @@ static inline unsigned int inet_ehashfn(const __u32 laddr, const __u16 lport, ...@@ -179,10 +179,10 @@ static inline unsigned int inet_ehashfn(const __u32 laddr, const __u16 lport,
static inline int inet_sk_ehashfn(const struct sock *sk) static inline int inet_sk_ehashfn(const struct sock *sk)
{ {
const struct inet_sock *inet = inet_sk(sk); const struct inet_sock *inet = inet_sk(sk);
const __u32 laddr = inet->rcv_saddr; const __be32 laddr = inet->rcv_saddr;
const __u16 lport = inet->num; const __u16 lport = inet->num;
const __u32 faddr = inet->daddr; const __be32 faddr = inet->daddr;
const __u16 fport = inet->dport; const __be16 fport = inet->dport;
return inet_ehashfn(laddr, lport, faddr, fport); return inet_ehashfn(laddr, lport, faddr, fport);
} }
......
...@@ -125,7 +125,7 @@ EXPORT_SYMBOL(inet_listen_wlock); ...@@ -125,7 +125,7 @@ EXPORT_SYMBOL(inet_listen_wlock);
* wildcarded during the search since they can never be otherwise. * wildcarded during the search since they can never be otherwise.
*/ */
static struct sock *inet_lookup_listener_slow(const struct hlist_head *head, static struct sock *inet_lookup_listener_slow(const struct hlist_head *head,
const u32 daddr, const __be32 daddr,
const unsigned short hnum, const unsigned short hnum,
const int dif) const int dif)
{ {
...@@ -137,7 +137,7 @@ static struct sock *inet_lookup_listener_slow(const struct hlist_head *head, ...@@ -137,7 +137,7 @@ static struct sock *inet_lookup_listener_slow(const struct hlist_head *head,
const struct inet_sock *inet = inet_sk(sk); const struct inet_sock *inet = inet_sk(sk);
if (inet->num == hnum && !ipv6_only_sock(sk)) { if (inet->num == hnum && !ipv6_only_sock(sk)) {
const __u32 rcv_saddr = inet->rcv_saddr; const __be32 rcv_saddr = inet->rcv_saddr;
int score = sk->sk_family == PF_INET ? 1 : 0; int score = sk->sk_family == PF_INET ? 1 : 0;
if (rcv_saddr) { if (rcv_saddr) {
...@@ -163,7 +163,7 @@ static struct sock *inet_lookup_listener_slow(const struct hlist_head *head, ...@@ -163,7 +163,7 @@ static struct sock *inet_lookup_listener_slow(const struct hlist_head *head,
/* Optimize the common listener case. */ /* Optimize the common listener case. */
struct sock *__inet_lookup_listener(struct inet_hashinfo *hashinfo, struct sock *__inet_lookup_listener(struct inet_hashinfo *hashinfo,
const u32 daddr, const unsigned short hnum, const __be32 daddr, const unsigned short hnum,
const int dif) const int dif)
{ {
struct sock *sk = NULL; struct sock *sk = NULL;
...@@ -197,8 +197,8 @@ static int __inet_check_established(struct inet_timewait_death_row *death_row, ...@@ -197,8 +197,8 @@ static int __inet_check_established(struct inet_timewait_death_row *death_row,
{ {
struct inet_hashinfo *hinfo = death_row->hashinfo; struct inet_hashinfo *hinfo = death_row->hashinfo;
struct inet_sock *inet = inet_sk(sk); struct inet_sock *inet = inet_sk(sk);
u32 daddr = inet->rcv_saddr; __be32 daddr = inet->rcv_saddr;
u32 saddr = inet->daddr; __be32 saddr = inet->daddr;
int dif = sk->sk_bound_dev_if; int dif = sk->sk_bound_dev_if;
INET_ADDR_COOKIE(acookie, saddr, daddr) INET_ADDR_COOKIE(acookie, saddr, daddr)
const __portpair ports = INET_COMBINED_PORTS(inet->dport, lport); const __portpair ports = INET_COMBINED_PORTS(inet->dport, lport);
......
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