diff options
-rw-r--r-- | include/net/inet_hashtables.h | 2 | ||||
-rw-r--r-- | include/net/sock.h | 5 | ||||
-rw-r--r-- | net/dccp/ipv4.c | 2 | ||||
-rw-r--r-- | net/dccp/ipv6.c | 2 | ||||
-rw-r--r-- | net/ipv4/inet_connection_sock.c | 2 | ||||
-rw-r--r-- | net/ipv4/inet_hashtables.c | 8 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 2 | ||||
-rw-r--r-- | net/ipv6/inet6_hashtables.c | 2 | ||||
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 2 |
9 files changed, 15 insertions, 12 deletions
diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h index 97dc35ad09be..d99c1ba2ece0 100644 --- a/include/net/inet_hashtables.h +++ b/include/net/inet_hashtables.h | |||
@@ -223,7 +223,7 @@ static inline int inet_sk_listen_hashfn(const struct sock *sk) | |||
223 | /* Caller must disable local BH processing. */ | 223 | /* Caller must disable local BH processing. */ |
224 | static inline void __inet_inherit_port(struct sock *sk, struct sock *child) | 224 | static inline void __inet_inherit_port(struct sock *sk, struct sock *child) |
225 | { | 225 | { |
226 | struct inet_hashinfo *table = sk->sk_prot->hashinfo; | 226 | struct inet_hashinfo *table = sk->sk_prot->h.hashinfo; |
227 | const int bhash = inet_bhashfn(inet_sk(child)->num, table->bhash_size); | 227 | const int bhash = inet_bhashfn(inet_sk(child)->num, table->bhash_size); |
228 | struct inet_bind_hashbucket *head = &table->bhash[bhash]; | 228 | struct inet_bind_hashbucket *head = &table->bhash[bhash]; |
229 | struct inet_bind_bucket *tb; | 229 | struct inet_bind_bucket *tb; |
diff --git a/include/net/sock.h b/include/net/sock.h index b89680d2693b..c3175c400b79 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -586,7 +586,10 @@ struct proto { | |||
586 | struct request_sock_ops *rsk_prot; | 586 | struct request_sock_ops *rsk_prot; |
587 | struct timewait_sock_ops *twsk_prot; | 587 | struct timewait_sock_ops *twsk_prot; |
588 | 588 | ||
589 | struct inet_hashinfo *hashinfo; | 589 | union { |
590 | struct inet_hashinfo *hashinfo; | ||
591 | struct hlist_head *udp_hash; | ||
592 | } h; | ||
590 | 593 | ||
591 | struct module *owner; | 594 | struct module *owner; |
592 | 595 | ||
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c index 17ad69e90e48..4ca8b0c93c80 100644 --- a/net/dccp/ipv4.c +++ b/net/dccp/ipv4.c | |||
@@ -941,7 +941,7 @@ static struct proto dccp_v4_prot = { | |||
941 | .obj_size = sizeof(struct dccp_sock), | 941 | .obj_size = sizeof(struct dccp_sock), |
942 | .rsk_prot = &dccp_request_sock_ops, | 942 | .rsk_prot = &dccp_request_sock_ops, |
943 | .twsk_prot = &dccp_timewait_sock_ops, | 943 | .twsk_prot = &dccp_timewait_sock_ops, |
944 | .hashinfo = &dccp_hashinfo, | 944 | .h.hashinfo = &dccp_hashinfo, |
945 | #ifdef CONFIG_COMPAT | 945 | #ifdef CONFIG_COMPAT |
946 | .compat_setsockopt = compat_dccp_setsockopt, | 946 | .compat_setsockopt = compat_dccp_setsockopt, |
947 | .compat_getsockopt = compat_dccp_getsockopt, | 947 | .compat_getsockopt = compat_dccp_getsockopt, |
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index 1a5e50b90677..2fec1af1a8c3 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c | |||
@@ -1126,7 +1126,7 @@ static struct proto dccp_v6_prot = { | |||
1126 | .obj_size = sizeof(struct dccp6_sock), | 1126 | .obj_size = sizeof(struct dccp6_sock), |
1127 | .rsk_prot = &dccp6_request_sock_ops, | 1127 | .rsk_prot = &dccp6_request_sock_ops, |
1128 | .twsk_prot = &dccp6_timewait_sock_ops, | 1128 | .twsk_prot = &dccp6_timewait_sock_ops, |
1129 | .hashinfo = &dccp_hashinfo, | 1129 | .h.hashinfo = &dccp_hashinfo, |
1130 | #ifdef CONFIG_COMPAT | 1130 | #ifdef CONFIG_COMPAT |
1131 | .compat_setsockopt = compat_dccp_setsockopt, | 1131 | .compat_setsockopt = compat_dccp_setsockopt, |
1132 | .compat_getsockopt = compat_dccp_getsockopt, | 1132 | .compat_getsockopt = compat_dccp_getsockopt, |
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index cc1a1859a61b..f9c5c4def1ba 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c | |||
@@ -80,7 +80,7 @@ EXPORT_SYMBOL_GPL(inet_csk_bind_conflict); | |||
80 | */ | 80 | */ |
81 | int inet_csk_get_port(struct sock *sk, unsigned short snum) | 81 | int inet_csk_get_port(struct sock *sk, unsigned short snum) |
82 | { | 82 | { |
83 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 83 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
84 | struct inet_bind_hashbucket *head; | 84 | struct inet_bind_hashbucket *head; |
85 | struct hlist_node *node; | 85 | struct hlist_node *node; |
86 | struct inet_bind_bucket *tb; | 86 | struct inet_bind_bucket *tb; |
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c index 1aba606f6bbb..8cd1ad9b9111 100644 --- a/net/ipv4/inet_hashtables.c +++ b/net/ipv4/inet_hashtables.c | |||
@@ -68,7 +68,7 @@ void inet_bind_hash(struct sock *sk, struct inet_bind_bucket *tb, | |||
68 | */ | 68 | */ |
69 | static void __inet_put_port(struct sock *sk) | 69 | static void __inet_put_port(struct sock *sk) |
70 | { | 70 | { |
71 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 71 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
72 | const int bhash = inet_bhashfn(inet_sk(sk)->num, hashinfo->bhash_size); | 72 | const int bhash = inet_bhashfn(inet_sk(sk)->num, hashinfo->bhash_size); |
73 | struct inet_bind_hashbucket *head = &hashinfo->bhash[bhash]; | 73 | struct inet_bind_hashbucket *head = &hashinfo->bhash[bhash]; |
74 | struct inet_bind_bucket *tb; | 74 | struct inet_bind_bucket *tb; |
@@ -318,7 +318,7 @@ static inline u32 inet_sk_port_offset(const struct sock *sk) | |||
318 | 318 | ||
319 | void __inet_hash_nolisten(struct sock *sk) | 319 | void __inet_hash_nolisten(struct sock *sk) |
320 | { | 320 | { |
321 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 321 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
322 | struct hlist_head *list; | 322 | struct hlist_head *list; |
323 | rwlock_t *lock; | 323 | rwlock_t *lock; |
324 | struct inet_ehash_bucket *head; | 324 | struct inet_ehash_bucket *head; |
@@ -339,7 +339,7 @@ EXPORT_SYMBOL_GPL(__inet_hash_nolisten); | |||
339 | 339 | ||
340 | static void __inet_hash(struct sock *sk) | 340 | static void __inet_hash(struct sock *sk) |
341 | { | 341 | { |
342 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 342 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
343 | struct hlist_head *list; | 343 | struct hlist_head *list; |
344 | rwlock_t *lock; | 344 | rwlock_t *lock; |
345 | 345 | ||
@@ -372,7 +372,7 @@ EXPORT_SYMBOL_GPL(inet_hash); | |||
372 | void inet_unhash(struct sock *sk) | 372 | void inet_unhash(struct sock *sk) |
373 | { | 373 | { |
374 | rwlock_t *lock; | 374 | rwlock_t *lock; |
375 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 375 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
376 | 376 | ||
377 | if (sk_unhashed(sk)) | 377 | if (sk_unhashed(sk)) |
378 | goto out; | 378 | goto out; |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 167a0f557531..1a47719a55ad 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -2468,7 +2468,7 @@ struct proto tcp_prot = { | |||
2468 | .obj_size = sizeof(struct tcp_sock), | 2468 | .obj_size = sizeof(struct tcp_sock), |
2469 | .twsk_prot = &tcp_timewait_sock_ops, | 2469 | .twsk_prot = &tcp_timewait_sock_ops, |
2470 | .rsk_prot = &tcp_request_sock_ops, | 2470 | .rsk_prot = &tcp_request_sock_ops, |
2471 | .hashinfo = &tcp_hashinfo, | 2471 | .h.hashinfo = &tcp_hashinfo, |
2472 | #ifdef CONFIG_COMPAT | 2472 | #ifdef CONFIG_COMPAT |
2473 | .compat_setsockopt = compat_tcp_setsockopt, | 2473 | .compat_setsockopt = compat_tcp_setsockopt, |
2474 | .compat_getsockopt = compat_tcp_getsockopt, | 2474 | .compat_getsockopt = compat_tcp_getsockopt, |
diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c index 99fd25f7f005..c0c8d2d17682 100644 --- a/net/ipv6/inet6_hashtables.c +++ b/net/ipv6/inet6_hashtables.c | |||
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | void __inet6_hash(struct sock *sk) | 25 | void __inet6_hash(struct sock *sk) |
26 | { | 26 | { |
27 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 27 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
28 | struct hlist_head *list; | 28 | struct hlist_head *list; |
29 | rwlock_t *lock; | 29 | rwlock_t *lock; |
30 | 30 | ||
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 56d0cea7d578..8dd72966ff78 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -2172,7 +2172,7 @@ struct proto tcpv6_prot = { | |||
2172 | .obj_size = sizeof(struct tcp6_sock), | 2172 | .obj_size = sizeof(struct tcp6_sock), |
2173 | .twsk_prot = &tcp6_timewait_sock_ops, | 2173 | .twsk_prot = &tcp6_timewait_sock_ops, |
2174 | .rsk_prot = &tcp6_request_sock_ops, | 2174 | .rsk_prot = &tcp6_request_sock_ops, |
2175 | .hashinfo = &tcp_hashinfo, | 2175 | .h.hashinfo = &tcp_hashinfo, |
2176 | #ifdef CONFIG_COMPAT | 2176 | #ifdef CONFIG_COMPAT |
2177 | .compat_setsockopt = compat_tcp_setsockopt, | 2177 | .compat_setsockopt = compat_tcp_setsockopt, |
2178 | .compat_getsockopt = compat_tcp_getsockopt, | 2178 | .compat_getsockopt = compat_tcp_getsockopt, |