diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-03-25 13:26:21 -0400 |
---|---|---|
committer | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-03-25 15:39:55 -0400 |
commit | 3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9 (patch) | |
tree | 09edb35f32ebcfb1b4dad904425128a110ef16ee /net/ipv4/inet_hashtables.c | |
parent | c346dca10840a874240c78efe3f39acf4312a1f2 (diff) |
[NET] NETNS: Omit sock->sk_net without CONFIG_NET_NS.
Introduce per-sock inlines: sock_net(), sock_net_set()
and per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().
Without CONFIG_NET_NS, no namespace other than &init_net exists.
Let's explicitly define them to help compiler optimizations.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net/ipv4/inet_hashtables.c')
-rw-r--r-- | net/ipv4/inet_hashtables.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c index 8cd1ad9b9111..1064111e5b96 100644 --- a/net/ipv4/inet_hashtables.c +++ b/net/ipv4/inet_hashtables.c | |||
@@ -139,7 +139,7 @@ static struct sock *inet_lookup_listener_slow(struct net *net, | |||
139 | sk_for_each(sk, node, head) { | 139 | sk_for_each(sk, node, head) { |
140 | const struct inet_sock *inet = inet_sk(sk); | 140 | const struct inet_sock *inet = inet_sk(sk); |
141 | 141 | ||
142 | if (sk->sk_net == net && inet->num == hnum && | 142 | if (sock_net(sk) == net && inet->num == hnum && |
143 | !ipv6_only_sock(sk)) { | 143 | !ipv6_only_sock(sk)) { |
144 | const __be32 rcv_saddr = inet->rcv_saddr; | 144 | const __be32 rcv_saddr = inet->rcv_saddr; |
145 | int score = sk->sk_family == PF_INET ? 1 : 0; | 145 | int score = sk->sk_family == PF_INET ? 1 : 0; |
@@ -182,7 +182,7 @@ struct sock *__inet_lookup_listener(struct net *net, | |||
182 | if (inet->num == hnum && !sk->sk_node.next && | 182 | if (inet->num == hnum && !sk->sk_node.next && |
183 | (!inet->rcv_saddr || inet->rcv_saddr == daddr) && | 183 | (!inet->rcv_saddr || inet->rcv_saddr == daddr) && |
184 | (sk->sk_family == PF_INET || !ipv6_only_sock(sk)) && | 184 | (sk->sk_family == PF_INET || !ipv6_only_sock(sk)) && |
185 | !sk->sk_bound_dev_if && sk->sk_net == net) | 185 | !sk->sk_bound_dev_if && sock_net(sk) == net) |
186 | goto sherry_cache; | 186 | goto sherry_cache; |
187 | sk = inet_lookup_listener_slow(net, head, daddr, hnum, dif); | 187 | sk = inet_lookup_listener_slow(net, head, daddr, hnum, dif); |
188 | } | 188 | } |
@@ -254,7 +254,7 @@ static int __inet_check_established(struct inet_timewait_death_row *death_row, | |||
254 | struct sock *sk2; | 254 | struct sock *sk2; |
255 | const struct hlist_node *node; | 255 | const struct hlist_node *node; |
256 | struct inet_timewait_sock *tw; | 256 | struct inet_timewait_sock *tw; |
257 | struct net *net = sk->sk_net; | 257 | struct net *net = sock_net(sk); |
258 | 258 | ||
259 | prefetch(head->chain.first); | 259 | prefetch(head->chain.first); |
260 | write_lock(lock); | 260 | write_lock(lock); |
@@ -406,7 +406,7 @@ int __inet_hash_connect(struct inet_timewait_death_row *death_row, | |||
406 | struct inet_bind_hashbucket *head; | 406 | struct inet_bind_hashbucket *head; |
407 | struct inet_bind_bucket *tb; | 407 | struct inet_bind_bucket *tb; |
408 | int ret; | 408 | int ret; |
409 | struct net *net = sk->sk_net; | 409 | struct net *net = sock_net(sk); |
410 | 410 | ||
411 | if (!snum) { | 411 | if (!snum) { |
412 | int i, remaining, low, high, port; | 412 | int i, remaining, low, high, port; |