diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-04-20 09:03:51 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-20 19:37:13 -0400 |
commit | aa395145165cb06a0d0885221bbe0ce4a564391d (patch) | |
tree | 118b0403621f10db8dc3dbf12079f9af5b19e05d | |
parent | ab9304717f7624c41927f442e6b6d418b2d8b3e4 (diff) |
net: sk_sleep() helper
Define a new function to return the waitqueue of a "struct sock".
static inline wait_queue_head_t *sk_sleep(struct sock *sk)
{
return sk->sk_sleep;
}
Change all read occurrences of sk_sleep by a call to this function.
Needed for a future RCU conversion. sk_sleep wont be a field directly
available.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
46 files changed, 208 insertions, 204 deletions
diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c index b86712167eb8..b9101818b47b 100644 --- a/drivers/atm/atmtcp.c +++ b/drivers/atm/atmtcp.c | |||
@@ -68,7 +68,7 @@ static int atmtcp_send_control(struct atm_vcc *vcc,int type, | |||
68 | *(struct atm_vcc **) &new_msg->vcc = vcc; | 68 | *(struct atm_vcc **) &new_msg->vcc = vcc; |
69 | old_test = test_bit(flag,&vcc->flags); | 69 | old_test = test_bit(flag,&vcc->flags); |
70 | out_vcc->push(out_vcc,skb); | 70 | out_vcc->push(out_vcc,skb); |
71 | add_wait_queue(sk_atm(vcc)->sk_sleep, &wait); | 71 | add_wait_queue(sk_sleep(sk_atm(vcc)), &wait); |
72 | while (test_bit(flag,&vcc->flags) == old_test) { | 72 | while (test_bit(flag,&vcc->flags) == old_test) { |
73 | mb(); | 73 | mb(); |
74 | out_vcc = PRIV(vcc->dev) ? PRIV(vcc->dev)->vcc : NULL; | 74 | out_vcc = PRIV(vcc->dev) ? PRIV(vcc->dev)->vcc : NULL; |
@@ -80,7 +80,7 @@ static int atmtcp_send_control(struct atm_vcc *vcc,int type, | |||
80 | schedule(); | 80 | schedule(); |
81 | } | 81 | } |
82 | set_current_state(TASK_RUNNING); | 82 | set_current_state(TASK_RUNNING); |
83 | remove_wait_queue(sk_atm(vcc)->sk_sleep, &wait); | 83 | remove_wait_queue(sk_sleep(sk_atm(vcc)), &wait); |
84 | return error; | 84 | return error; |
85 | } | 85 | } |
86 | 86 | ||
@@ -105,7 +105,7 @@ static int atmtcp_recv_control(const struct atmtcp_control *msg) | |||
105 | msg->type); | 105 | msg->type); |
106 | return -EINVAL; | 106 | return -EINVAL; |
107 | } | 107 | } |
108 | wake_up(sk_atm(vcc)->sk_sleep); | 108 | wake_up(sk_sleep(sk_atm(vcc))); |
109 | return 0; | 109 | return 0; |
110 | } | 110 | } |
111 | 111 | ||
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index abba3cc81f12..85d6420f8404 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c | |||
@@ -246,8 +246,8 @@ static void macvtap_sock_write_space(struct sock *sk) | |||
246 | !test_and_clear_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags)) | 246 | !test_and_clear_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags)) |
247 | return; | 247 | return; |
248 | 248 | ||
249 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 249 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
250 | wake_up_interruptible_poll(sk->sk_sleep, POLLOUT | POLLWRNORM | POLLWRBAND); | 250 | wake_up_interruptible_poll(sk_sleep(sk), POLLOUT | POLLWRNORM | POLLWRBAND); |
251 | } | 251 | } |
252 | 252 | ||
253 | static int macvtap_open(struct inode *inode, struct file *file) | 253 | static int macvtap_open(struct inode *inode, struct file *file) |
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 43265207d463..20a17938c62b 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
@@ -868,8 +868,8 @@ static void tun_sock_write_space(struct sock *sk) | |||
868 | if (!test_and_clear_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags)) | 868 | if (!test_and_clear_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags)) |
869 | return; | 869 | return; |
870 | 870 | ||
871 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 871 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
872 | wake_up_interruptible_sync_poll(sk->sk_sleep, POLLOUT | | 872 | wake_up_interruptible_sync_poll(sk_sleep(sk), POLLOUT | |
873 | POLLWRNORM | POLLWRBAND); | 873 | POLLWRNORM | POLLWRBAND); |
874 | 874 | ||
875 | tun = tun_sk(sk)->tun; | 875 | tun = tun_sk(sk)->tun; |
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c index 0ee725ced511..9eae04afa9a0 100644 --- a/drivers/scsi/iscsi_tcp.c +++ b/drivers/scsi/iscsi_tcp.c | |||
@@ -599,9 +599,9 @@ static void iscsi_sw_tcp_conn_stop(struct iscsi_cls_conn *cls_conn, int flag) | |||
599 | set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx); | 599 | set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx); |
600 | write_unlock_bh(&tcp_sw_conn->sock->sk->sk_callback_lock); | 600 | write_unlock_bh(&tcp_sw_conn->sock->sk->sk_callback_lock); |
601 | 601 | ||
602 | if (sock->sk->sk_sleep && waitqueue_active(sock->sk->sk_sleep)) { | 602 | if (sk_sleep(sock->sk) && waitqueue_active(sk_sleep(sock->sk))) { |
603 | sock->sk->sk_err = EIO; | 603 | sock->sk->sk_err = EIO; |
604 | wake_up_interruptible(sock->sk->sk_sleep); | 604 | wake_up_interruptible(sk_sleep(sock->sk)); |
605 | } | 605 | } |
606 | 606 | ||
607 | iscsi_conn_stop(cls_conn, flag); | 607 | iscsi_conn_stop(cls_conn, flag); |
diff --git a/include/net/sock.h b/include/net/sock.h index 56df440a950b..8ab05146a447 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -1160,6 +1160,10 @@ static inline void sk_set_socket(struct sock *sk, struct socket *sock) | |||
1160 | sk->sk_socket = sock; | 1160 | sk->sk_socket = sock; |
1161 | } | 1161 | } |
1162 | 1162 | ||
1163 | static inline wait_queue_head_t *sk_sleep(struct sock *sk) | ||
1164 | { | ||
1165 | return sk->sk_sleep; | ||
1166 | } | ||
1163 | /* Detach socket from process context. | 1167 | /* Detach socket from process context. |
1164 | * Announce socket dead, detach it from wait queue and inode. | 1168 | * Announce socket dead, detach it from wait queue and inode. |
1165 | * Note that parent inode held reference count on this struct sock, | 1169 | * Note that parent inode held reference count on this struct sock, |
@@ -1346,8 +1350,8 @@ static inline int sk_has_allocations(const struct sock *sk) | |||
1346 | * tp->rcv_nxt check sock_def_readable | 1350 | * tp->rcv_nxt check sock_def_readable |
1347 | * ... { | 1351 | * ... { |
1348 | * schedule ... | 1352 | * schedule ... |
1349 | * if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 1353 | * if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
1350 | * wake_up_interruptible(sk->sk_sleep) | 1354 | * wake_up_interruptible(sk_sleep(sk)) |
1351 | * ... | 1355 | * ... |
1352 | * } | 1356 | * } |
1353 | * | 1357 | * |
@@ -1368,7 +1372,7 @@ static inline int sk_has_sleeper(struct sock *sk) | |||
1368 | * This memory barrier is paired in the sock_poll_wait. | 1372 | * This memory barrier is paired in the sock_poll_wait. |
1369 | */ | 1373 | */ |
1370 | smp_mb__after_lock(); | 1374 | smp_mb__after_lock(); |
1371 | return sk->sk_sleep && waitqueue_active(sk->sk_sleep); | 1375 | return sk_sleep(sk) && waitqueue_active(sk_sleep(sk)); |
1372 | } | 1376 | } |
1373 | 1377 | ||
1374 | /** | 1378 | /** |
diff --git a/include/net/tcp.h b/include/net/tcp.h index 70c5159f4b36..b7d83d204a93 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -939,7 +939,7 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) | |||
939 | 939 | ||
940 | tp->ucopy.memory = 0; | 940 | tp->ucopy.memory = 0; |
941 | } else if (skb_queue_len(&tp->ucopy.prequeue) == 1) { | 941 | } else if (skb_queue_len(&tp->ucopy.prequeue) == 1) { |
942 | wake_up_interruptible_sync_poll(sk->sk_sleep, | 942 | wake_up_interruptible_sync_poll(sk_sleep(sk), |
943 | POLLIN | POLLRDNORM | POLLRDBAND); | 943 | POLLIN | POLLRDNORM | POLLRDBAND); |
944 | if (!inet_csk_ack_scheduled(sk)) | 944 | if (!inet_csk_ack_scheduled(sk)) |
945 | inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK, | 945 | inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK, |
diff --git a/net/atm/common.c b/net/atm/common.c index 97ed94aa0cbc..e3e10e6f8628 100644 --- a/net/atm/common.c +++ b/net/atm/common.c | |||
@@ -92,7 +92,7 @@ static void vcc_def_wakeup(struct sock *sk) | |||
92 | { | 92 | { |
93 | read_lock(&sk->sk_callback_lock); | 93 | read_lock(&sk->sk_callback_lock); |
94 | if (sk_has_sleeper(sk)) | 94 | if (sk_has_sleeper(sk)) |
95 | wake_up(sk->sk_sleep); | 95 | wake_up(sk_sleep(sk)); |
96 | read_unlock(&sk->sk_callback_lock); | 96 | read_unlock(&sk->sk_callback_lock); |
97 | } | 97 | } |
98 | 98 | ||
@@ -110,7 +110,7 @@ static void vcc_write_space(struct sock *sk) | |||
110 | 110 | ||
111 | if (vcc_writable(sk)) { | 111 | if (vcc_writable(sk)) { |
112 | if (sk_has_sleeper(sk)) | 112 | if (sk_has_sleeper(sk)) |
113 | wake_up_interruptible(sk->sk_sleep); | 113 | wake_up_interruptible(sk_sleep(sk)); |
114 | 114 | ||
115 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); | 115 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); |
116 | } | 116 | } |
@@ -549,7 +549,7 @@ int vcc_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | |||
549 | } | 549 | } |
550 | 550 | ||
551 | eff = (size+3) & ~3; /* align to word boundary */ | 551 | eff = (size+3) & ~3; /* align to word boundary */ |
552 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 552 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
553 | error = 0; | 553 | error = 0; |
554 | while (!(skb = alloc_tx(vcc, eff))) { | 554 | while (!(skb = alloc_tx(vcc, eff))) { |
555 | if (m->msg_flags & MSG_DONTWAIT) { | 555 | if (m->msg_flags & MSG_DONTWAIT) { |
@@ -568,9 +568,9 @@ int vcc_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | |||
568 | send_sig(SIGPIPE, current, 0); | 568 | send_sig(SIGPIPE, current, 0); |
569 | break; | 569 | break; |
570 | } | 570 | } |
571 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 571 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
572 | } | 572 | } |
573 | finish_wait(sk->sk_sleep, &wait); | 573 | finish_wait(sk_sleep(sk), &wait); |
574 | if (error) | 574 | if (error) |
575 | goto out; | 575 | goto out; |
576 | skb->dev = NULL; /* for paths shared with net_device interfaces */ | 576 | skb->dev = NULL; /* for paths shared with net_device interfaces */ |
@@ -595,7 +595,7 @@ unsigned int vcc_poll(struct file *file, struct socket *sock, poll_table *wait) | |||
595 | struct atm_vcc *vcc; | 595 | struct atm_vcc *vcc; |
596 | unsigned int mask; | 596 | unsigned int mask; |
597 | 597 | ||
598 | sock_poll_wait(file, sk->sk_sleep, wait); | 598 | sock_poll_wait(file, sk_sleep(sk), wait); |
599 | mask = 0; | 599 | mask = 0; |
600 | 600 | ||
601 | vcc = ATM_SD(sock); | 601 | vcc = ATM_SD(sock); |
diff --git a/net/atm/signaling.c b/net/atm/signaling.c index 6ba6e466ee54..509c8ac02b63 100644 --- a/net/atm/signaling.c +++ b/net/atm/signaling.c | |||
@@ -131,7 +131,7 @@ static int sigd_send(struct atm_vcc *vcc, struct sk_buff *skb) | |||
131 | } | 131 | } |
132 | sk->sk_ack_backlog++; | 132 | sk->sk_ack_backlog++; |
133 | skb_queue_tail(&sk->sk_receive_queue, skb); | 133 | skb_queue_tail(&sk->sk_receive_queue, skb); |
134 | pr_debug("waking sk->sk_sleep 0x%p\n", sk->sk_sleep); | 134 | pr_debug("waking sk_sleep(sk) 0x%p\n", sk_sleep(sk)); |
135 | sk->sk_state_change(sk); | 135 | sk->sk_state_change(sk); |
136 | as_indicate_complete: | 136 | as_indicate_complete: |
137 | release_sock(sk); | 137 | release_sock(sk); |
diff --git a/net/atm/svc.c b/net/atm/svc.c index 3ba9a45a51ac..754ee4791d96 100644 --- a/net/atm/svc.c +++ b/net/atm/svc.c | |||
@@ -49,14 +49,14 @@ static void svc_disconnect(struct atm_vcc *vcc) | |||
49 | 49 | ||
50 | pr_debug("%p\n", vcc); | 50 | pr_debug("%p\n", vcc); |
51 | if (test_bit(ATM_VF_REGIS, &vcc->flags)) { | 51 | if (test_bit(ATM_VF_REGIS, &vcc->flags)) { |
52 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 52 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
53 | sigd_enq(vcc, as_close, NULL, NULL, NULL); | 53 | sigd_enq(vcc, as_close, NULL, NULL, NULL); |
54 | while (!test_bit(ATM_VF_RELEASED, &vcc->flags) && sigd) { | 54 | while (!test_bit(ATM_VF_RELEASED, &vcc->flags) && sigd) { |
55 | schedule(); | 55 | schedule(); |
56 | prepare_to_wait(sk->sk_sleep, &wait, | 56 | prepare_to_wait(sk_sleep(sk), &wait, |
57 | TASK_UNINTERRUPTIBLE); | 57 | TASK_UNINTERRUPTIBLE); |
58 | } | 58 | } |
59 | finish_wait(sk->sk_sleep, &wait); | 59 | finish_wait(sk_sleep(sk), &wait); |
60 | } | 60 | } |
61 | /* beware - socket is still in use by atmsigd until the last | 61 | /* beware - socket is still in use by atmsigd until the last |
62 | as_indicate has been answered */ | 62 | as_indicate has been answered */ |
@@ -125,13 +125,13 @@ static int svc_bind(struct socket *sock, struct sockaddr *sockaddr, | |||
125 | } | 125 | } |
126 | vcc->local = *addr; | 126 | vcc->local = *addr; |
127 | set_bit(ATM_VF_WAITING, &vcc->flags); | 127 | set_bit(ATM_VF_WAITING, &vcc->flags); |
128 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 128 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
129 | sigd_enq(vcc, as_bind, NULL, NULL, &vcc->local); | 129 | sigd_enq(vcc, as_bind, NULL, NULL, &vcc->local); |
130 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 130 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
131 | schedule(); | 131 | schedule(); |
132 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 132 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
133 | } | 133 | } |
134 | finish_wait(sk->sk_sleep, &wait); | 134 | finish_wait(sk_sleep(sk), &wait); |
135 | clear_bit(ATM_VF_REGIS, &vcc->flags); /* doesn't count */ | 135 | clear_bit(ATM_VF_REGIS, &vcc->flags); /* doesn't count */ |
136 | if (!sigd) { | 136 | if (!sigd) { |
137 | error = -EUNATCH; | 137 | error = -EUNATCH; |
@@ -201,10 +201,10 @@ static int svc_connect(struct socket *sock, struct sockaddr *sockaddr, | |||
201 | } | 201 | } |
202 | vcc->remote = *addr; | 202 | vcc->remote = *addr; |
203 | set_bit(ATM_VF_WAITING, &vcc->flags); | 203 | set_bit(ATM_VF_WAITING, &vcc->flags); |
204 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 204 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
205 | sigd_enq(vcc, as_connect, NULL, NULL, &vcc->remote); | 205 | sigd_enq(vcc, as_connect, NULL, NULL, &vcc->remote); |
206 | if (flags & O_NONBLOCK) { | 206 | if (flags & O_NONBLOCK) { |
207 | finish_wait(sk->sk_sleep, &wait); | 207 | finish_wait(sk_sleep(sk), &wait); |
208 | sock->state = SS_CONNECTING; | 208 | sock->state = SS_CONNECTING; |
209 | error = -EINPROGRESS; | 209 | error = -EINPROGRESS; |
210 | goto out; | 210 | goto out; |
@@ -213,7 +213,7 @@ static int svc_connect(struct socket *sock, struct sockaddr *sockaddr, | |||
213 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 213 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
214 | schedule(); | 214 | schedule(); |
215 | if (!signal_pending(current)) { | 215 | if (!signal_pending(current)) { |
216 | prepare_to_wait(sk->sk_sleep, &wait, | 216 | prepare_to_wait(sk_sleep(sk), &wait, |
217 | TASK_INTERRUPTIBLE); | 217 | TASK_INTERRUPTIBLE); |
218 | continue; | 218 | continue; |
219 | } | 219 | } |
@@ -232,14 +232,14 @@ static int svc_connect(struct socket *sock, struct sockaddr *sockaddr, | |||
232 | */ | 232 | */ |
233 | sigd_enq(vcc, as_close, NULL, NULL, NULL); | 233 | sigd_enq(vcc, as_close, NULL, NULL, NULL); |
234 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 234 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
235 | prepare_to_wait(sk->sk_sleep, &wait, | 235 | prepare_to_wait(sk_sleep(sk), &wait, |
236 | TASK_INTERRUPTIBLE); | 236 | TASK_INTERRUPTIBLE); |
237 | schedule(); | 237 | schedule(); |
238 | } | 238 | } |
239 | if (!sk->sk_err) | 239 | if (!sk->sk_err) |
240 | while (!test_bit(ATM_VF_RELEASED, &vcc->flags) && | 240 | while (!test_bit(ATM_VF_RELEASED, &vcc->flags) && |
241 | sigd) { | 241 | sigd) { |
242 | prepare_to_wait(sk->sk_sleep, &wait, | 242 | prepare_to_wait(sk_sleep(sk), &wait, |
243 | TASK_INTERRUPTIBLE); | 243 | TASK_INTERRUPTIBLE); |
244 | schedule(); | 244 | schedule(); |
245 | } | 245 | } |
@@ -250,7 +250,7 @@ static int svc_connect(struct socket *sock, struct sockaddr *sockaddr, | |||
250 | error = -EINTR; | 250 | error = -EINTR; |
251 | break; | 251 | break; |
252 | } | 252 | } |
253 | finish_wait(sk->sk_sleep, &wait); | 253 | finish_wait(sk_sleep(sk), &wait); |
254 | if (error) | 254 | if (error) |
255 | goto out; | 255 | goto out; |
256 | if (!sigd) { | 256 | if (!sigd) { |
@@ -302,13 +302,13 @@ static int svc_listen(struct socket *sock, int backlog) | |||
302 | goto out; | 302 | goto out; |
303 | } | 303 | } |
304 | set_bit(ATM_VF_WAITING, &vcc->flags); | 304 | set_bit(ATM_VF_WAITING, &vcc->flags); |
305 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 305 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
306 | sigd_enq(vcc, as_listen, NULL, NULL, &vcc->local); | 306 | sigd_enq(vcc, as_listen, NULL, NULL, &vcc->local); |
307 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 307 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
308 | schedule(); | 308 | schedule(); |
309 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 309 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
310 | } | 310 | } |
311 | finish_wait(sk->sk_sleep, &wait); | 311 | finish_wait(sk_sleep(sk), &wait); |
312 | if (!sigd) { | 312 | if (!sigd) { |
313 | error = -EUNATCH; | 313 | error = -EUNATCH; |
314 | goto out; | 314 | goto out; |
@@ -343,7 +343,7 @@ static int svc_accept(struct socket *sock, struct socket *newsock, int flags) | |||
343 | while (1) { | 343 | while (1) { |
344 | DEFINE_WAIT(wait); | 344 | DEFINE_WAIT(wait); |
345 | 345 | ||
346 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 346 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
347 | while (!(skb = skb_dequeue(&sk->sk_receive_queue)) && | 347 | while (!(skb = skb_dequeue(&sk->sk_receive_queue)) && |
348 | sigd) { | 348 | sigd) { |
349 | if (test_bit(ATM_VF_RELEASED, &old_vcc->flags)) | 349 | if (test_bit(ATM_VF_RELEASED, &old_vcc->flags)) |
@@ -363,10 +363,10 @@ static int svc_accept(struct socket *sock, struct socket *newsock, int flags) | |||
363 | error = -ERESTARTSYS; | 363 | error = -ERESTARTSYS; |
364 | break; | 364 | break; |
365 | } | 365 | } |
366 | prepare_to_wait(sk->sk_sleep, &wait, | 366 | prepare_to_wait(sk_sleep(sk), &wait, |
367 | TASK_INTERRUPTIBLE); | 367 | TASK_INTERRUPTIBLE); |
368 | } | 368 | } |
369 | finish_wait(sk->sk_sleep, &wait); | 369 | finish_wait(sk_sleep(sk), &wait); |
370 | if (error) | 370 | if (error) |
371 | goto out; | 371 | goto out; |
372 | if (!skb) { | 372 | if (!skb) { |
@@ -392,17 +392,17 @@ static int svc_accept(struct socket *sock, struct socket *newsock, int flags) | |||
392 | } | 392 | } |
393 | /* wait should be short, so we ignore the non-blocking flag */ | 393 | /* wait should be short, so we ignore the non-blocking flag */ |
394 | set_bit(ATM_VF_WAITING, &new_vcc->flags); | 394 | set_bit(ATM_VF_WAITING, &new_vcc->flags); |
395 | prepare_to_wait(sk_atm(new_vcc)->sk_sleep, &wait, | 395 | prepare_to_wait(sk_sleep(sk_atm(new_vcc)), &wait, |
396 | TASK_UNINTERRUPTIBLE); | 396 | TASK_UNINTERRUPTIBLE); |
397 | sigd_enq(new_vcc, as_accept, old_vcc, NULL, NULL); | 397 | sigd_enq(new_vcc, as_accept, old_vcc, NULL, NULL); |
398 | while (test_bit(ATM_VF_WAITING, &new_vcc->flags) && sigd) { | 398 | while (test_bit(ATM_VF_WAITING, &new_vcc->flags) && sigd) { |
399 | release_sock(sk); | 399 | release_sock(sk); |
400 | schedule(); | 400 | schedule(); |
401 | lock_sock(sk); | 401 | lock_sock(sk); |
402 | prepare_to_wait(sk_atm(new_vcc)->sk_sleep, &wait, | 402 | prepare_to_wait(sk_sleep(sk_atm(new_vcc)), &wait, |
403 | TASK_UNINTERRUPTIBLE); | 403 | TASK_UNINTERRUPTIBLE); |
404 | } | 404 | } |
405 | finish_wait(sk_atm(new_vcc)->sk_sleep, &wait); | 405 | finish_wait(sk_sleep(sk_atm(new_vcc)), &wait); |
406 | if (!sigd) { | 406 | if (!sigd) { |
407 | error = -EUNATCH; | 407 | error = -EUNATCH; |
408 | goto out; | 408 | goto out; |
@@ -438,14 +438,14 @@ int svc_change_qos(struct atm_vcc *vcc, struct atm_qos *qos) | |||
438 | DEFINE_WAIT(wait); | 438 | DEFINE_WAIT(wait); |
439 | 439 | ||
440 | set_bit(ATM_VF_WAITING, &vcc->flags); | 440 | set_bit(ATM_VF_WAITING, &vcc->flags); |
441 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 441 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
442 | sigd_enq2(vcc, as_modify, NULL, NULL, &vcc->local, qos, 0); | 442 | sigd_enq2(vcc, as_modify, NULL, NULL, &vcc->local, qos, 0); |
443 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && | 443 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && |
444 | !test_bit(ATM_VF_RELEASED, &vcc->flags) && sigd) { | 444 | !test_bit(ATM_VF_RELEASED, &vcc->flags) && sigd) { |
445 | schedule(); | 445 | schedule(); |
446 | prepare_to_wait(sk->sk_sleep, &wait, TASK_UNINTERRUPTIBLE); | 446 | prepare_to_wait(sk_sleep(sk), &wait, TASK_UNINTERRUPTIBLE); |
447 | } | 447 | } |
448 | finish_wait(sk->sk_sleep, &wait); | 448 | finish_wait(sk_sleep(sk), &wait); |
449 | if (!sigd) | 449 | if (!sigd) |
450 | return -EUNATCH; | 450 | return -EUNATCH; |
451 | return -sk->sk_err; | 451 | return -sk->sk_err; |
@@ -534,20 +534,20 @@ static int svc_addparty(struct socket *sock, struct sockaddr *sockaddr, | |||
534 | 534 | ||
535 | lock_sock(sk); | 535 | lock_sock(sk); |
536 | set_bit(ATM_VF_WAITING, &vcc->flags); | 536 | set_bit(ATM_VF_WAITING, &vcc->flags); |
537 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 537 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
538 | sigd_enq(vcc, as_addparty, NULL, NULL, | 538 | sigd_enq(vcc, as_addparty, NULL, NULL, |
539 | (struct sockaddr_atmsvc *) sockaddr); | 539 | (struct sockaddr_atmsvc *) sockaddr); |
540 | if (flags & O_NONBLOCK) { | 540 | if (flags & O_NONBLOCK) { |
541 | finish_wait(sk->sk_sleep, &wait); | 541 | finish_wait(sk_sleep(sk), &wait); |
542 | error = -EINPROGRESS; | 542 | error = -EINPROGRESS; |
543 | goto out; | 543 | goto out; |
544 | } | 544 | } |
545 | pr_debug("added wait queue\n"); | 545 | pr_debug("added wait queue\n"); |
546 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 546 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
547 | schedule(); | 547 | schedule(); |
548 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 548 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
549 | } | 549 | } |
550 | finish_wait(sk->sk_sleep, &wait); | 550 | finish_wait(sk_sleep(sk), &wait); |
551 | error = xchg(&sk->sk_err_soft, 0); | 551 | error = xchg(&sk->sk_err_soft, 0); |
552 | out: | 552 | out: |
553 | release_sock(sk); | 553 | release_sock(sk); |
@@ -563,13 +563,13 @@ static int svc_dropparty(struct socket *sock, int ep_ref) | |||
563 | 563 | ||
564 | lock_sock(sk); | 564 | lock_sock(sk); |
565 | set_bit(ATM_VF_WAITING, &vcc->flags); | 565 | set_bit(ATM_VF_WAITING, &vcc->flags); |
566 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 566 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
567 | sigd_enq2(vcc, as_dropparty, NULL, NULL, NULL, NULL, ep_ref); | 567 | sigd_enq2(vcc, as_dropparty, NULL, NULL, NULL, NULL, ep_ref); |
568 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { | 568 | while (test_bit(ATM_VF_WAITING, &vcc->flags) && sigd) { |
569 | schedule(); | 569 | schedule(); |
570 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 570 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
571 | } | 571 | } |
572 | finish_wait(sk->sk_sleep, &wait); | 572 | finish_wait(sk_sleep(sk), &wait); |
573 | if (!sigd) { | 573 | if (!sigd) { |
574 | error = -EUNATCH; | 574 | error = -EUNATCH; |
575 | goto out; | 575 | goto out; |
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c index 65c5801261f9..cfdfd7e2a172 100644 --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c | |||
@@ -1281,7 +1281,7 @@ static int __must_check ax25_connect(struct socket *sock, | |||
1281 | DEFINE_WAIT(wait); | 1281 | DEFINE_WAIT(wait); |
1282 | 1282 | ||
1283 | for (;;) { | 1283 | for (;;) { |
1284 | prepare_to_wait(sk->sk_sleep, &wait, | 1284 | prepare_to_wait(sk_sleep(sk), &wait, |
1285 | TASK_INTERRUPTIBLE); | 1285 | TASK_INTERRUPTIBLE); |
1286 | if (sk->sk_state != TCP_SYN_SENT) | 1286 | if (sk->sk_state != TCP_SYN_SENT) |
1287 | break; | 1287 | break; |
@@ -1294,7 +1294,7 @@ static int __must_check ax25_connect(struct socket *sock, | |||
1294 | err = -ERESTARTSYS; | 1294 | err = -ERESTARTSYS; |
1295 | break; | 1295 | break; |
1296 | } | 1296 | } |
1297 | finish_wait(sk->sk_sleep, &wait); | 1297 | finish_wait(sk_sleep(sk), &wait); |
1298 | 1298 | ||
1299 | if (err) | 1299 | if (err) |
1300 | goto out_release; | 1300 | goto out_release; |
@@ -1346,7 +1346,7 @@ static int ax25_accept(struct socket *sock, struct socket *newsock, int flags) | |||
1346 | * hooked into the SABM we saved | 1346 | * hooked into the SABM we saved |
1347 | */ | 1347 | */ |
1348 | for (;;) { | 1348 | for (;;) { |
1349 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 1349 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
1350 | skb = skb_dequeue(&sk->sk_receive_queue); | 1350 | skb = skb_dequeue(&sk->sk_receive_queue); |
1351 | if (skb) | 1351 | if (skb) |
1352 | break; | 1352 | break; |
@@ -1364,7 +1364,7 @@ static int ax25_accept(struct socket *sock, struct socket *newsock, int flags) | |||
1364 | err = -ERESTARTSYS; | 1364 | err = -ERESTARTSYS; |
1365 | break; | 1365 | break; |
1366 | } | 1366 | } |
1367 | finish_wait(sk->sk_sleep, &wait); | 1367 | finish_wait(sk_sleep(sk), &wait); |
1368 | 1368 | ||
1369 | if (err) | 1369 | if (err) |
1370 | goto out; | 1370 | goto out; |
diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c index 404a8500fd03..421c45bd1b95 100644 --- a/net/bluetooth/af_bluetooth.c +++ b/net/bluetooth/af_bluetooth.c | |||
@@ -288,7 +288,7 @@ unsigned int bt_sock_poll(struct file * file, struct socket *sock, poll_table *w | |||
288 | 288 | ||
289 | BT_DBG("sock %p, sk %p", sock, sk); | 289 | BT_DBG("sock %p, sk %p", sock, sk); |
290 | 290 | ||
291 | poll_wait(file, sk->sk_sleep, wait); | 291 | poll_wait(file, sk_sleep(sk), wait); |
292 | 292 | ||
293 | if (sk->sk_state == BT_LISTEN) | 293 | if (sk->sk_state == BT_LISTEN) |
294 | return bt_accept_poll(sk); | 294 | return bt_accept_poll(sk); |
@@ -378,7 +378,7 @@ int bt_sock_wait_state(struct sock *sk, int state, unsigned long timeo) | |||
378 | 378 | ||
379 | BT_DBG("sk %p", sk); | 379 | BT_DBG("sk %p", sk); |
380 | 380 | ||
381 | add_wait_queue(sk->sk_sleep, &wait); | 381 | add_wait_queue(sk_sleep(sk), &wait); |
382 | while (sk->sk_state != state) { | 382 | while (sk->sk_state != state) { |
383 | set_current_state(TASK_INTERRUPTIBLE); | 383 | set_current_state(TASK_INTERRUPTIBLE); |
384 | 384 | ||
@@ -401,7 +401,7 @@ int bt_sock_wait_state(struct sock *sk, int state, unsigned long timeo) | |||
401 | break; | 401 | break; |
402 | } | 402 | } |
403 | set_current_state(TASK_RUNNING); | 403 | set_current_state(TASK_RUNNING); |
404 | remove_wait_queue(sk->sk_sleep, &wait); | 404 | remove_wait_queue(sk_sleep(sk), &wait); |
405 | return err; | 405 | return err; |
406 | } | 406 | } |
407 | EXPORT_SYMBOL(bt_sock_wait_state); | 407 | EXPORT_SYMBOL(bt_sock_wait_state); |
diff --git a/net/bluetooth/bnep/core.c b/net/bluetooth/bnep/core.c index 8062dad6d10d..f10b41fb05a0 100644 --- a/net/bluetooth/bnep/core.c +++ b/net/bluetooth/bnep/core.c | |||
@@ -474,7 +474,7 @@ static int bnep_session(void *arg) | |||
474 | set_user_nice(current, -15); | 474 | set_user_nice(current, -15); |
475 | 475 | ||
476 | init_waitqueue_entry(&wait, current); | 476 | init_waitqueue_entry(&wait, current); |
477 | add_wait_queue(sk->sk_sleep, &wait); | 477 | add_wait_queue(sk_sleep(sk), &wait); |
478 | while (!atomic_read(&s->killed)) { | 478 | while (!atomic_read(&s->killed)) { |
479 | set_current_state(TASK_INTERRUPTIBLE); | 479 | set_current_state(TASK_INTERRUPTIBLE); |
480 | 480 | ||
@@ -496,7 +496,7 @@ static int bnep_session(void *arg) | |||
496 | schedule(); | 496 | schedule(); |
497 | } | 497 | } |
498 | set_current_state(TASK_RUNNING); | 498 | set_current_state(TASK_RUNNING); |
499 | remove_wait_queue(sk->sk_sleep, &wait); | 499 | remove_wait_queue(sk_sleep(sk), &wait); |
500 | 500 | ||
501 | /* Cleanup session */ | 501 | /* Cleanup session */ |
502 | down_write(&bnep_session_sem); | 502 | down_write(&bnep_session_sem); |
@@ -507,7 +507,7 @@ static int bnep_session(void *arg) | |||
507 | /* Wakeup user-space polling for socket errors */ | 507 | /* Wakeup user-space polling for socket errors */ |
508 | s->sock->sk->sk_err = EUNATCH; | 508 | s->sock->sk->sk_err = EUNATCH; |
509 | 509 | ||
510 | wake_up_interruptible(s->sock->sk->sk_sleep); | 510 | wake_up_interruptible(sk_sleep(s->sock->sk)); |
511 | 511 | ||
512 | /* Release the socket */ | 512 | /* Release the socket */ |
513 | fput(s->sock->file); | 513 | fput(s->sock->file); |
@@ -638,7 +638,7 @@ int bnep_del_connection(struct bnep_conndel_req *req) | |||
638 | 638 | ||
639 | /* Kill session thread */ | 639 | /* Kill session thread */ |
640 | atomic_inc(&s->killed); | 640 | atomic_inc(&s->killed); |
641 | wake_up_interruptible(s->sock->sk->sk_sleep); | 641 | wake_up_interruptible(sk_sleep(s->sock->sk)); |
642 | } else | 642 | } else |
643 | err = -ENOENT; | 643 | err = -ENOENT; |
644 | 644 | ||
diff --git a/net/bluetooth/bnep/netdev.c b/net/bluetooth/bnep/netdev.c index d48b33f4d4ba..0faad5ce6dc4 100644 --- a/net/bluetooth/bnep/netdev.c +++ b/net/bluetooth/bnep/netdev.c | |||
@@ -109,7 +109,7 @@ static void bnep_net_set_mc_list(struct net_device *dev) | |||
109 | } | 109 | } |
110 | 110 | ||
111 | skb_queue_tail(&sk->sk_write_queue, skb); | 111 | skb_queue_tail(&sk->sk_write_queue, skb); |
112 | wake_up_interruptible(sk->sk_sleep); | 112 | wake_up_interruptible(sk_sleep(sk)); |
113 | #endif | 113 | #endif |
114 | } | 114 | } |
115 | 115 | ||
@@ -193,11 +193,11 @@ static netdev_tx_t bnep_net_xmit(struct sk_buff *skb, | |||
193 | /* | 193 | /* |
194 | * We cannot send L2CAP packets from here as we are potentially in a bh. | 194 | * We cannot send L2CAP packets from here as we are potentially in a bh. |
195 | * So we have to queue them and wake up session thread which is sleeping | 195 | * So we have to queue them and wake up session thread which is sleeping |
196 | * on the sk->sk_sleep. | 196 | * on the sk_sleep(sk). |
197 | */ | 197 | */ |
198 | dev->trans_start = jiffies; | 198 | dev->trans_start = jiffies; |
199 | skb_queue_tail(&sk->sk_write_queue, skb); | 199 | skb_queue_tail(&sk->sk_write_queue, skb); |
200 | wake_up_interruptible(sk->sk_sleep); | 200 | wake_up_interruptible(sk_sleep(sk)); |
201 | 201 | ||
202 | if (skb_queue_len(&sk->sk_write_queue) >= BNEP_TX_QUEUE_LEN) { | 202 | if (skb_queue_len(&sk->sk_write_queue) >= BNEP_TX_QUEUE_LEN) { |
203 | BT_DBG("tx queue is full"); | 203 | BT_DBG("tx queue is full"); |
diff --git a/net/bluetooth/cmtp/cmtp.h b/net/bluetooth/cmtp/cmtp.h index e4663aa14d26..785e79e953c5 100644 --- a/net/bluetooth/cmtp/cmtp.h +++ b/net/bluetooth/cmtp/cmtp.h | |||
@@ -125,7 +125,7 @@ static inline void cmtp_schedule(struct cmtp_session *session) | |||
125 | { | 125 | { |
126 | struct sock *sk = session->sock->sk; | 126 | struct sock *sk = session->sock->sk; |
127 | 127 | ||
128 | wake_up_interruptible(sk->sk_sleep); | 128 | wake_up_interruptible(sk_sleep(sk)); |
129 | } | 129 | } |
130 | 130 | ||
131 | /* CMTP init defines */ | 131 | /* CMTP init defines */ |
diff --git a/net/bluetooth/cmtp/core.c b/net/bluetooth/cmtp/core.c index 0073ec8495da..d4c6af082d48 100644 --- a/net/bluetooth/cmtp/core.c +++ b/net/bluetooth/cmtp/core.c | |||
@@ -284,7 +284,7 @@ static int cmtp_session(void *arg) | |||
284 | set_user_nice(current, -15); | 284 | set_user_nice(current, -15); |
285 | 285 | ||
286 | init_waitqueue_entry(&wait, current); | 286 | init_waitqueue_entry(&wait, current); |
287 | add_wait_queue(sk->sk_sleep, &wait); | 287 | add_wait_queue(sk_sleep(sk), &wait); |
288 | while (!atomic_read(&session->terminate)) { | 288 | while (!atomic_read(&session->terminate)) { |
289 | set_current_state(TASK_INTERRUPTIBLE); | 289 | set_current_state(TASK_INTERRUPTIBLE); |
290 | 290 | ||
@@ -301,7 +301,7 @@ static int cmtp_session(void *arg) | |||
301 | schedule(); | 301 | schedule(); |
302 | } | 302 | } |
303 | set_current_state(TASK_RUNNING); | 303 | set_current_state(TASK_RUNNING); |
304 | remove_wait_queue(sk->sk_sleep, &wait); | 304 | remove_wait_queue(sk_sleep(sk), &wait); |
305 | 305 | ||
306 | down_write(&cmtp_session_sem); | 306 | down_write(&cmtp_session_sem); |
307 | 307 | ||
diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c index 280529ad9274..bfe641b7dfaf 100644 --- a/net/bluetooth/hidp/core.c +++ b/net/bluetooth/hidp/core.c | |||
@@ -561,8 +561,8 @@ static int hidp_session(void *arg) | |||
561 | 561 | ||
562 | init_waitqueue_entry(&ctrl_wait, current); | 562 | init_waitqueue_entry(&ctrl_wait, current); |
563 | init_waitqueue_entry(&intr_wait, current); | 563 | init_waitqueue_entry(&intr_wait, current); |
564 | add_wait_queue(ctrl_sk->sk_sleep, &ctrl_wait); | 564 | add_wait_queue(sk_sleep(ctrl_sk), &ctrl_wait); |
565 | add_wait_queue(intr_sk->sk_sleep, &intr_wait); | 565 | add_wait_queue(sk_sleep(intr_sk), &intr_wait); |
566 | while (!atomic_read(&session->terminate)) { | 566 | while (!atomic_read(&session->terminate)) { |
567 | set_current_state(TASK_INTERRUPTIBLE); | 567 | set_current_state(TASK_INTERRUPTIBLE); |
568 | 568 | ||
@@ -584,8 +584,8 @@ static int hidp_session(void *arg) | |||
584 | schedule(); | 584 | schedule(); |
585 | } | 585 | } |
586 | set_current_state(TASK_RUNNING); | 586 | set_current_state(TASK_RUNNING); |
587 | remove_wait_queue(intr_sk->sk_sleep, &intr_wait); | 587 | remove_wait_queue(sk_sleep(intr_sk), &intr_wait); |
588 | remove_wait_queue(ctrl_sk->sk_sleep, &ctrl_wait); | 588 | remove_wait_queue(sk_sleep(ctrl_sk), &ctrl_wait); |
589 | 589 | ||
590 | down_write(&hidp_session_sem); | 590 | down_write(&hidp_session_sem); |
591 | 591 | ||
@@ -609,7 +609,7 @@ static int hidp_session(void *arg) | |||
609 | 609 | ||
610 | fput(session->intr_sock->file); | 610 | fput(session->intr_sock->file); |
611 | 611 | ||
612 | wait_event_timeout(*(ctrl_sk->sk_sleep), | 612 | wait_event_timeout(*(sk_sleep(ctrl_sk)), |
613 | (ctrl_sk->sk_state == BT_CLOSED), msecs_to_jiffies(500)); | 613 | (ctrl_sk->sk_state == BT_CLOSED), msecs_to_jiffies(500)); |
614 | 614 | ||
615 | fput(session->ctrl_sock->file); | 615 | fput(session->ctrl_sock->file); |
diff --git a/net/bluetooth/hidp/hidp.h b/net/bluetooth/hidp/hidp.h index a4e215d50c10..8d934a19da0a 100644 --- a/net/bluetooth/hidp/hidp.h +++ b/net/bluetooth/hidp/hidp.h | |||
@@ -164,8 +164,8 @@ static inline void hidp_schedule(struct hidp_session *session) | |||
164 | struct sock *ctrl_sk = session->ctrl_sock->sk; | 164 | struct sock *ctrl_sk = session->ctrl_sock->sk; |
165 | struct sock *intr_sk = session->intr_sock->sk; | 165 | struct sock *intr_sk = session->intr_sock->sk; |
166 | 166 | ||
167 | wake_up_interruptible(ctrl_sk->sk_sleep); | 167 | wake_up_interruptible(sk_sleep(ctrl_sk)); |
168 | wake_up_interruptible(intr_sk->sk_sleep); | 168 | wake_up_interruptible(sk_sleep(intr_sk)); |
169 | } | 169 | } |
170 | 170 | ||
171 | /* HIDP init defines */ | 171 | /* HIDP init defines */ |
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index 99d68c34e4f1..c1e60eed5a97 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c | |||
@@ -1147,7 +1147,7 @@ static int l2cap_sock_accept(struct socket *sock, struct socket *newsock, int fl | |||
1147 | BT_DBG("sk %p timeo %ld", sk, timeo); | 1147 | BT_DBG("sk %p timeo %ld", sk, timeo); |
1148 | 1148 | ||
1149 | /* Wait for an incoming connection. (wake-one). */ | 1149 | /* Wait for an incoming connection. (wake-one). */ |
1150 | add_wait_queue_exclusive(sk->sk_sleep, &wait); | 1150 | add_wait_queue_exclusive(sk_sleep(sk), &wait); |
1151 | while (!(nsk = bt_accept_dequeue(sk, newsock))) { | 1151 | while (!(nsk = bt_accept_dequeue(sk, newsock))) { |
1152 | set_current_state(TASK_INTERRUPTIBLE); | 1152 | set_current_state(TASK_INTERRUPTIBLE); |
1153 | if (!timeo) { | 1153 | if (!timeo) { |
@@ -1170,7 +1170,7 @@ static int l2cap_sock_accept(struct socket *sock, struct socket *newsock, int fl | |||
1170 | } | 1170 | } |
1171 | } | 1171 | } |
1172 | set_current_state(TASK_RUNNING); | 1172 | set_current_state(TASK_RUNNING); |
1173 | remove_wait_queue(sk->sk_sleep, &wait); | 1173 | remove_wait_queue(sk_sleep(sk), &wait); |
1174 | 1174 | ||
1175 | if (err) | 1175 | if (err) |
1176 | goto done; | 1176 | goto done; |
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c index 8ed3c37684fa..43fbf6b4b4bf 100644 --- a/net/bluetooth/rfcomm/sock.c +++ b/net/bluetooth/rfcomm/sock.c | |||
@@ -503,7 +503,7 @@ static int rfcomm_sock_accept(struct socket *sock, struct socket *newsock, int f | |||
503 | BT_DBG("sk %p timeo %ld", sk, timeo); | 503 | BT_DBG("sk %p timeo %ld", sk, timeo); |
504 | 504 | ||
505 | /* Wait for an incoming connection. (wake-one). */ | 505 | /* Wait for an incoming connection. (wake-one). */ |
506 | add_wait_queue_exclusive(sk->sk_sleep, &wait); | 506 | add_wait_queue_exclusive(sk_sleep(sk), &wait); |
507 | while (!(nsk = bt_accept_dequeue(sk, newsock))) { | 507 | while (!(nsk = bt_accept_dequeue(sk, newsock))) { |
508 | set_current_state(TASK_INTERRUPTIBLE); | 508 | set_current_state(TASK_INTERRUPTIBLE); |
509 | if (!timeo) { | 509 | if (!timeo) { |
@@ -526,7 +526,7 @@ static int rfcomm_sock_accept(struct socket *sock, struct socket *newsock, int f | |||
526 | } | 526 | } |
527 | } | 527 | } |
528 | set_current_state(TASK_RUNNING); | 528 | set_current_state(TASK_RUNNING); |
529 | remove_wait_queue(sk->sk_sleep, &wait); | 529 | remove_wait_queue(sk_sleep(sk), &wait); |
530 | 530 | ||
531 | if (err) | 531 | if (err) |
532 | goto done; | 532 | goto done; |
@@ -621,7 +621,7 @@ static long rfcomm_sock_data_wait(struct sock *sk, long timeo) | |||
621 | { | 621 | { |
622 | DECLARE_WAITQUEUE(wait, current); | 622 | DECLARE_WAITQUEUE(wait, current); |
623 | 623 | ||
624 | add_wait_queue(sk->sk_sleep, &wait); | 624 | add_wait_queue(sk_sleep(sk), &wait); |
625 | for (;;) { | 625 | for (;;) { |
626 | set_current_state(TASK_INTERRUPTIBLE); | 626 | set_current_state(TASK_INTERRUPTIBLE); |
627 | 627 | ||
@@ -640,7 +640,7 @@ static long rfcomm_sock_data_wait(struct sock *sk, long timeo) | |||
640 | } | 640 | } |
641 | 641 | ||
642 | __set_current_state(TASK_RUNNING); | 642 | __set_current_state(TASK_RUNNING); |
643 | remove_wait_queue(sk->sk_sleep, &wait); | 643 | remove_wait_queue(sk_sleep(sk), &wait); |
644 | return timeo; | 644 | return timeo; |
645 | } | 645 | } |
646 | 646 | ||
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c index ca6b2ad1c3fc..b406d3eff53a 100644 --- a/net/bluetooth/sco.c +++ b/net/bluetooth/sco.c | |||
@@ -567,7 +567,7 @@ static int sco_sock_accept(struct socket *sock, struct socket *newsock, int flag | |||
567 | BT_DBG("sk %p timeo %ld", sk, timeo); | 567 | BT_DBG("sk %p timeo %ld", sk, timeo); |
568 | 568 | ||
569 | /* Wait for an incoming connection. (wake-one). */ | 569 | /* Wait for an incoming connection. (wake-one). */ |
570 | add_wait_queue_exclusive(sk->sk_sleep, &wait); | 570 | add_wait_queue_exclusive(sk_sleep(sk), &wait); |
571 | while (!(ch = bt_accept_dequeue(sk, newsock))) { | 571 | while (!(ch = bt_accept_dequeue(sk, newsock))) { |
572 | set_current_state(TASK_INTERRUPTIBLE); | 572 | set_current_state(TASK_INTERRUPTIBLE); |
573 | if (!timeo) { | 573 | if (!timeo) { |
@@ -590,7 +590,7 @@ static int sco_sock_accept(struct socket *sock, struct socket *newsock, int flag | |||
590 | } | 590 | } |
591 | } | 591 | } |
592 | set_current_state(TASK_RUNNING); | 592 | set_current_state(TASK_RUNNING); |
593 | remove_wait_queue(sk->sk_sleep, &wait); | 593 | remove_wait_queue(sk_sleep(sk), &wait); |
594 | 594 | ||
595 | if (err) | 595 | if (err) |
596 | goto done; | 596 | goto done; |
diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c index cdf62b9fefac..90317e7d10b4 100644 --- a/net/caif/caif_socket.c +++ b/net/caif/caif_socket.c | |||
@@ -689,7 +689,7 @@ static unsigned int caif_poll(struct file *file, struct socket *sock, | |||
689 | struct sock *sk = sock->sk; | 689 | struct sock *sk = sock->sk; |
690 | struct caifsock *cf_sk = container_of(sk, struct caifsock, sk); | 690 | struct caifsock *cf_sk = container_of(sk, struct caifsock, sk); |
691 | u32 mask = 0; | 691 | u32 mask = 0; |
692 | poll_wait(file, sk->sk_sleep, wait); | 692 | poll_wait(file, sk_sleep(sk), wait); |
693 | lock_sock(&(cf_sk->sk)); | 693 | lock_sock(&(cf_sk->sk)); |
694 | if (!STATE_IS_OPEN(cf_sk)) { | 694 | if (!STATE_IS_OPEN(cf_sk)) { |
695 | if (!STATE_IS_PENDING(cf_sk)) | 695 | if (!STATE_IS_PENDING(cf_sk)) |
diff --git a/net/core/datagram.c b/net/core/datagram.c index 2dccd4ee591b..5574a5ddf908 100644 --- a/net/core/datagram.c +++ b/net/core/datagram.c | |||
@@ -86,7 +86,7 @@ static int wait_for_packet(struct sock *sk, int *err, long *timeo_p) | |||
86 | int error; | 86 | int error; |
87 | DEFINE_WAIT_FUNC(wait, receiver_wake_function); | 87 | DEFINE_WAIT_FUNC(wait, receiver_wake_function); |
88 | 88 | ||
89 | prepare_to_wait_exclusive(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 89 | prepare_to_wait_exclusive(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
90 | 90 | ||
91 | /* Socket errors? */ | 91 | /* Socket errors? */ |
92 | error = sock_error(sk); | 92 | error = sock_error(sk); |
@@ -115,7 +115,7 @@ static int wait_for_packet(struct sock *sk, int *err, long *timeo_p) | |||
115 | error = 0; | 115 | error = 0; |
116 | *timeo_p = schedule_timeout(*timeo_p); | 116 | *timeo_p = schedule_timeout(*timeo_p); |
117 | out: | 117 | out: |
118 | finish_wait(sk->sk_sleep, &wait); | 118 | finish_wait(sk_sleep(sk), &wait); |
119 | return error; | 119 | return error; |
120 | interrupted: | 120 | interrupted: |
121 | error = sock_intr_errno(*timeo_p); | 121 | error = sock_intr_errno(*timeo_p); |
@@ -726,7 +726,7 @@ unsigned int datagram_poll(struct file *file, struct socket *sock, | |||
726 | struct sock *sk = sock->sk; | 726 | struct sock *sk = sock->sk; |
727 | unsigned int mask; | 727 | unsigned int mask; |
728 | 728 | ||
729 | sock_poll_wait(file, sk->sk_sleep, wait); | 729 | sock_poll_wait(file, sk_sleep(sk), wait); |
730 | mask = 0; | 730 | mask = 0; |
731 | 731 | ||
732 | /* exceptional events? */ | 732 | /* exceptional events? */ |
diff --git a/net/core/sock.c b/net/core/sock.c index 7effa1e689df..58ebd146ce5a 100644 --- a/net/core/sock.c +++ b/net/core/sock.c | |||
@@ -1395,7 +1395,7 @@ static long sock_wait_for_wmem(struct sock *sk, long timeo) | |||
1395 | if (signal_pending(current)) | 1395 | if (signal_pending(current)) |
1396 | break; | 1396 | break; |
1397 | set_bit(SOCK_NOSPACE, &sk->sk_socket->flags); | 1397 | set_bit(SOCK_NOSPACE, &sk->sk_socket->flags); |
1398 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 1398 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
1399 | if (atomic_read(&sk->sk_wmem_alloc) < sk->sk_sndbuf) | 1399 | if (atomic_read(&sk->sk_wmem_alloc) < sk->sk_sndbuf) |
1400 | break; | 1400 | break; |
1401 | if (sk->sk_shutdown & SEND_SHUTDOWN) | 1401 | if (sk->sk_shutdown & SEND_SHUTDOWN) |
@@ -1404,7 +1404,7 @@ static long sock_wait_for_wmem(struct sock *sk, long timeo) | |||
1404 | break; | 1404 | break; |
1405 | timeo = schedule_timeout(timeo); | 1405 | timeo = schedule_timeout(timeo); |
1406 | } | 1406 | } |
1407 | finish_wait(sk->sk_sleep, &wait); | 1407 | finish_wait(sk_sleep(sk), &wait); |
1408 | return timeo; | 1408 | return timeo; |
1409 | } | 1409 | } |
1410 | 1410 | ||
@@ -1570,11 +1570,11 @@ int sk_wait_data(struct sock *sk, long *timeo) | |||
1570 | int rc; | 1570 | int rc; |
1571 | DEFINE_WAIT(wait); | 1571 | DEFINE_WAIT(wait); |
1572 | 1572 | ||
1573 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 1573 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
1574 | set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); | 1574 | set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); |
1575 | rc = sk_wait_event(sk, timeo, !skb_queue_empty(&sk->sk_receive_queue)); | 1575 | rc = sk_wait_event(sk, timeo, !skb_queue_empty(&sk->sk_receive_queue)); |
1576 | clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); | 1576 | clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); |
1577 | finish_wait(sk->sk_sleep, &wait); | 1577 | finish_wait(sk_sleep(sk), &wait); |
1578 | return rc; | 1578 | return rc; |
1579 | } | 1579 | } |
1580 | EXPORT_SYMBOL(sk_wait_data); | 1580 | EXPORT_SYMBOL(sk_wait_data); |
@@ -1798,7 +1798,7 @@ static void sock_def_wakeup(struct sock *sk) | |||
1798 | { | 1798 | { |
1799 | read_lock(&sk->sk_callback_lock); | 1799 | read_lock(&sk->sk_callback_lock); |
1800 | if (sk_has_sleeper(sk)) | 1800 | if (sk_has_sleeper(sk)) |
1801 | wake_up_interruptible_all(sk->sk_sleep); | 1801 | wake_up_interruptible_all(sk_sleep(sk)); |
1802 | read_unlock(&sk->sk_callback_lock); | 1802 | read_unlock(&sk->sk_callback_lock); |
1803 | } | 1803 | } |
1804 | 1804 | ||
@@ -1806,7 +1806,7 @@ static void sock_def_error_report(struct sock *sk) | |||
1806 | { | 1806 | { |
1807 | read_lock(&sk->sk_callback_lock); | 1807 | read_lock(&sk->sk_callback_lock); |
1808 | if (sk_has_sleeper(sk)) | 1808 | if (sk_has_sleeper(sk)) |
1809 | wake_up_interruptible_poll(sk->sk_sleep, POLLERR); | 1809 | wake_up_interruptible_poll(sk_sleep(sk), POLLERR); |
1810 | sk_wake_async(sk, SOCK_WAKE_IO, POLL_ERR); | 1810 | sk_wake_async(sk, SOCK_WAKE_IO, POLL_ERR); |
1811 | read_unlock(&sk->sk_callback_lock); | 1811 | read_unlock(&sk->sk_callback_lock); |
1812 | } | 1812 | } |
@@ -1815,7 +1815,7 @@ static void sock_def_readable(struct sock *sk, int len) | |||
1815 | { | 1815 | { |
1816 | read_lock(&sk->sk_callback_lock); | 1816 | read_lock(&sk->sk_callback_lock); |
1817 | if (sk_has_sleeper(sk)) | 1817 | if (sk_has_sleeper(sk)) |
1818 | wake_up_interruptible_sync_poll(sk->sk_sleep, POLLIN | | 1818 | wake_up_interruptible_sync_poll(sk_sleep(sk), POLLIN | |
1819 | POLLRDNORM | POLLRDBAND); | 1819 | POLLRDNORM | POLLRDBAND); |
1820 | sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_IN); | 1820 | sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_IN); |
1821 | read_unlock(&sk->sk_callback_lock); | 1821 | read_unlock(&sk->sk_callback_lock); |
@@ -1830,7 +1830,7 @@ static void sock_def_write_space(struct sock *sk) | |||
1830 | */ | 1830 | */ |
1831 | if ((atomic_read(&sk->sk_wmem_alloc) << 1) <= sk->sk_sndbuf) { | 1831 | if ((atomic_read(&sk->sk_wmem_alloc) << 1) <= sk->sk_sndbuf) { |
1832 | if (sk_has_sleeper(sk)) | 1832 | if (sk_has_sleeper(sk)) |
1833 | wake_up_interruptible_sync_poll(sk->sk_sleep, POLLOUT | | 1833 | wake_up_interruptible_sync_poll(sk_sleep(sk), POLLOUT | |
1834 | POLLWRNORM | POLLWRBAND); | 1834 | POLLWRNORM | POLLWRBAND); |
1835 | 1835 | ||
1836 | /* Should agree with poll, otherwise some programs break */ | 1836 | /* Should agree with poll, otherwise some programs break */ |
diff --git a/net/core/stream.c b/net/core/stream.c index a37debfeb1b2..7b3c3f30b107 100644 --- a/net/core/stream.c +++ b/net/core/stream.c | |||
@@ -32,8 +32,8 @@ void sk_stream_write_space(struct sock *sk) | |||
32 | if (sk_stream_wspace(sk) >= sk_stream_min_wspace(sk) && sock) { | 32 | if (sk_stream_wspace(sk) >= sk_stream_min_wspace(sk) && sock) { |
33 | clear_bit(SOCK_NOSPACE, &sock->flags); | 33 | clear_bit(SOCK_NOSPACE, &sock->flags); |
34 | 34 | ||
35 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 35 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
36 | wake_up_interruptible_poll(sk->sk_sleep, POLLOUT | | 36 | wake_up_interruptible_poll(sk_sleep(sk), POLLOUT | |
37 | POLLWRNORM | POLLWRBAND); | 37 | POLLWRNORM | POLLWRBAND); |
38 | if (sock->fasync_list && !(sk->sk_shutdown & SEND_SHUTDOWN)) | 38 | if (sock->fasync_list && !(sk->sk_shutdown & SEND_SHUTDOWN)) |
39 | sock_wake_async(sock, SOCK_WAKE_SPACE, POLL_OUT); | 39 | sock_wake_async(sock, SOCK_WAKE_SPACE, POLL_OUT); |
@@ -66,13 +66,13 @@ int sk_stream_wait_connect(struct sock *sk, long *timeo_p) | |||
66 | if (signal_pending(tsk)) | 66 | if (signal_pending(tsk)) |
67 | return sock_intr_errno(*timeo_p); | 67 | return sock_intr_errno(*timeo_p); |
68 | 68 | ||
69 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 69 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
70 | sk->sk_write_pending++; | 70 | sk->sk_write_pending++; |
71 | done = sk_wait_event(sk, timeo_p, | 71 | done = sk_wait_event(sk, timeo_p, |
72 | !sk->sk_err && | 72 | !sk->sk_err && |
73 | !((1 << sk->sk_state) & | 73 | !((1 << sk->sk_state) & |
74 | ~(TCPF_ESTABLISHED | TCPF_CLOSE_WAIT))); | 74 | ~(TCPF_ESTABLISHED | TCPF_CLOSE_WAIT))); |
75 | finish_wait(sk->sk_sleep, &wait); | 75 | finish_wait(sk_sleep(sk), &wait); |
76 | sk->sk_write_pending--; | 76 | sk->sk_write_pending--; |
77 | } while (!done); | 77 | } while (!done); |
78 | return 0; | 78 | return 0; |
@@ -96,13 +96,13 @@ void sk_stream_wait_close(struct sock *sk, long timeout) | |||
96 | DEFINE_WAIT(wait); | 96 | DEFINE_WAIT(wait); |
97 | 97 | ||
98 | do { | 98 | do { |
99 | prepare_to_wait(sk->sk_sleep, &wait, | 99 | prepare_to_wait(sk_sleep(sk), &wait, |
100 | TASK_INTERRUPTIBLE); | 100 | TASK_INTERRUPTIBLE); |
101 | if (sk_wait_event(sk, &timeout, !sk_stream_closing(sk))) | 101 | if (sk_wait_event(sk, &timeout, !sk_stream_closing(sk))) |
102 | break; | 102 | break; |
103 | } while (!signal_pending(current) && timeout); | 103 | } while (!signal_pending(current) && timeout); |
104 | 104 | ||
105 | finish_wait(sk->sk_sleep, &wait); | 105 | finish_wait(sk_sleep(sk), &wait); |
106 | } | 106 | } |
107 | } | 107 | } |
108 | 108 | ||
@@ -126,7 +126,7 @@ int sk_stream_wait_memory(struct sock *sk, long *timeo_p) | |||
126 | while (1) { | 126 | while (1) { |
127 | set_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags); | 127 | set_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags); |
128 | 128 | ||
129 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 129 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
130 | 130 | ||
131 | if (sk->sk_err || (sk->sk_shutdown & SEND_SHUTDOWN)) | 131 | if (sk->sk_err || (sk->sk_shutdown & SEND_SHUTDOWN)) |
132 | goto do_error; | 132 | goto do_error; |
@@ -157,7 +157,7 @@ int sk_stream_wait_memory(struct sock *sk, long *timeo_p) | |||
157 | *timeo_p = current_timeo; | 157 | *timeo_p = current_timeo; |
158 | } | 158 | } |
159 | out: | 159 | out: |
160 | finish_wait(sk->sk_sleep, &wait); | 160 | finish_wait(sk_sleep(sk), &wait); |
161 | return err; | 161 | return err; |
162 | 162 | ||
163 | do_error: | 163 | do_error: |
diff --git a/net/dccp/output.c b/net/dccp/output.c index e98b65e9569f..2d3dcb39851f 100644 --- a/net/dccp/output.c +++ b/net/dccp/output.c | |||
@@ -198,7 +198,7 @@ void dccp_write_space(struct sock *sk) | |||
198 | read_lock(&sk->sk_callback_lock); | 198 | read_lock(&sk->sk_callback_lock); |
199 | 199 | ||
200 | if (sk_has_sleeper(sk)) | 200 | if (sk_has_sleeper(sk)) |
201 | wake_up_interruptible(sk->sk_sleep); | 201 | wake_up_interruptible(sk_sleep(sk)); |
202 | /* Should agree with poll, otherwise some programs break */ | 202 | /* Should agree with poll, otherwise some programs break */ |
203 | if (sock_writeable(sk)) | 203 | if (sock_writeable(sk)) |
204 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); | 204 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); |
@@ -225,7 +225,7 @@ static int dccp_wait_for_ccid(struct sock *sk, struct sk_buff *skb, int delay) | |||
225 | dccp_pr_debug("delayed send by %d msec\n", delay); | 225 | dccp_pr_debug("delayed send by %d msec\n", delay); |
226 | jiffdelay = msecs_to_jiffies(delay); | 226 | jiffdelay = msecs_to_jiffies(delay); |
227 | 227 | ||
228 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 228 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
229 | 229 | ||
230 | sk->sk_write_pending++; | 230 | sk->sk_write_pending++; |
231 | release_sock(sk); | 231 | release_sock(sk); |
@@ -241,7 +241,7 @@ static int dccp_wait_for_ccid(struct sock *sk, struct sk_buff *skb, int delay) | |||
241 | rc = ccid_hc_tx_send_packet(dp->dccps_hc_tx_ccid, sk, skb); | 241 | rc = ccid_hc_tx_send_packet(dp->dccps_hc_tx_ccid, sk, skb); |
242 | } while ((delay = rc) > 0); | 242 | } while ((delay = rc) > 0); |
243 | out: | 243 | out: |
244 | finish_wait(sk->sk_sleep, &wait); | 244 | finish_wait(sk_sleep(sk), &wait); |
245 | return rc; | 245 | return rc; |
246 | 246 | ||
247 | do_error: | 247 | do_error: |
diff --git a/net/dccp/proto.c b/net/dccp/proto.c index a0e38d8018f5..b03ecf6b2bb0 100644 --- a/net/dccp/proto.c +++ b/net/dccp/proto.c | |||
@@ -312,7 +312,7 @@ unsigned int dccp_poll(struct file *file, struct socket *sock, | |||
312 | unsigned int mask; | 312 | unsigned int mask; |
313 | struct sock *sk = sock->sk; | 313 | struct sock *sk = sock->sk; |
314 | 314 | ||
315 | sock_poll_wait(file, sk->sk_sleep, wait); | 315 | sock_poll_wait(file, sk_sleep(sk), wait); |
316 | if (sk->sk_state == DCCP_LISTEN) | 316 | if (sk->sk_state == DCCP_LISTEN) |
317 | return inet_csk_listen_poll(sk); | 317 | return inet_csk_listen_poll(sk); |
318 | 318 | ||
diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c index 55e3b6b0061a..d6b93d19790f 100644 --- a/net/decnet/af_decnet.c +++ b/net/decnet/af_decnet.c | |||
@@ -832,7 +832,7 @@ static int dn_confirm_accept(struct sock *sk, long *timeo, gfp_t allocation) | |||
832 | scp->segsize_loc = dst_metric(__sk_dst_get(sk), RTAX_ADVMSS); | 832 | scp->segsize_loc = dst_metric(__sk_dst_get(sk), RTAX_ADVMSS); |
833 | dn_send_conn_conf(sk, allocation); | 833 | dn_send_conn_conf(sk, allocation); |
834 | 834 | ||
835 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 835 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
836 | for(;;) { | 836 | for(;;) { |
837 | release_sock(sk); | 837 | release_sock(sk); |
838 | if (scp->state == DN_CC) | 838 | if (scp->state == DN_CC) |
@@ -850,9 +850,9 @@ static int dn_confirm_accept(struct sock *sk, long *timeo, gfp_t allocation) | |||
850 | err = -EAGAIN; | 850 | err = -EAGAIN; |
851 | if (!*timeo) | 851 | if (!*timeo) |
852 | break; | 852 | break; |
853 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 853 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
854 | } | 854 | } |
855 | finish_wait(sk->sk_sleep, &wait); | 855 | finish_wait(sk_sleep(sk), &wait); |
856 | if (err == 0) { | 856 | if (err == 0) { |
857 | sk->sk_socket->state = SS_CONNECTED; | 857 | sk->sk_socket->state = SS_CONNECTED; |
858 | } else if (scp->state != DN_CC) { | 858 | } else if (scp->state != DN_CC) { |
@@ -873,7 +873,7 @@ static int dn_wait_run(struct sock *sk, long *timeo) | |||
873 | if (!*timeo) | 873 | if (!*timeo) |
874 | return -EALREADY; | 874 | return -EALREADY; |
875 | 875 | ||
876 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 876 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
877 | for(;;) { | 877 | for(;;) { |
878 | release_sock(sk); | 878 | release_sock(sk); |
879 | if (scp->state == DN_CI || scp->state == DN_CC) | 879 | if (scp->state == DN_CI || scp->state == DN_CC) |
@@ -891,9 +891,9 @@ static int dn_wait_run(struct sock *sk, long *timeo) | |||
891 | err = -ETIMEDOUT; | 891 | err = -ETIMEDOUT; |
892 | if (!*timeo) | 892 | if (!*timeo) |
893 | break; | 893 | break; |
894 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 894 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
895 | } | 895 | } |
896 | finish_wait(sk->sk_sleep, &wait); | 896 | finish_wait(sk_sleep(sk), &wait); |
897 | out: | 897 | out: |
898 | if (err == 0) { | 898 | if (err == 0) { |
899 | sk->sk_socket->state = SS_CONNECTED; | 899 | sk->sk_socket->state = SS_CONNECTED; |
@@ -1040,7 +1040,7 @@ static struct sk_buff *dn_wait_for_connect(struct sock *sk, long *timeo) | |||
1040 | struct sk_buff *skb = NULL; | 1040 | struct sk_buff *skb = NULL; |
1041 | int err = 0; | 1041 | int err = 0; |
1042 | 1042 | ||
1043 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 1043 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
1044 | for(;;) { | 1044 | for(;;) { |
1045 | release_sock(sk); | 1045 | release_sock(sk); |
1046 | skb = skb_dequeue(&sk->sk_receive_queue); | 1046 | skb = skb_dequeue(&sk->sk_receive_queue); |
@@ -1060,9 +1060,9 @@ static struct sk_buff *dn_wait_for_connect(struct sock *sk, long *timeo) | |||
1060 | err = -EAGAIN; | 1060 | err = -EAGAIN; |
1061 | if (!*timeo) | 1061 | if (!*timeo) |
1062 | break; | 1062 | break; |
1063 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 1063 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
1064 | } | 1064 | } |
1065 | finish_wait(sk->sk_sleep, &wait); | 1065 | finish_wait(sk_sleep(sk), &wait); |
1066 | 1066 | ||
1067 | return skb == NULL ? ERR_PTR(err) : skb; | 1067 | return skb == NULL ? ERR_PTR(err) : skb; |
1068 | } | 1068 | } |
@@ -1746,11 +1746,11 @@ static int dn_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
1746 | goto out; | 1746 | goto out; |
1747 | } | 1747 | } |
1748 | 1748 | ||
1749 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 1749 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
1750 | set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); | 1750 | set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); |
1751 | sk_wait_event(sk, &timeo, dn_data_ready(sk, queue, flags, target)); | 1751 | sk_wait_event(sk, &timeo, dn_data_ready(sk, queue, flags, target)); |
1752 | clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); | 1752 | clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); |
1753 | finish_wait(sk->sk_sleep, &wait); | 1753 | finish_wait(sk_sleep(sk), &wait); |
1754 | } | 1754 | } |
1755 | 1755 | ||
1756 | skb_queue_walk_safe(queue, skb, n) { | 1756 | skb_queue_walk_safe(queue, skb, n) { |
@@ -2003,12 +2003,12 @@ static int dn_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
2003 | goto out; | 2003 | goto out; |
2004 | } | 2004 | } |
2005 | 2005 | ||
2006 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 2006 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
2007 | set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); | 2007 | set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); |
2008 | sk_wait_event(sk, &timeo, | 2008 | sk_wait_event(sk, &timeo, |
2009 | !dn_queue_too_long(scp, queue, flags)); | 2009 | !dn_queue_too_long(scp, queue, flags)); |
2010 | clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); | 2010 | clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); |
2011 | finish_wait(sk->sk_sleep, &wait); | 2011 | finish_wait(sk_sleep(sk), &wait); |
2012 | continue; | 2012 | continue; |
2013 | } | 2013 | } |
2014 | 2014 | ||
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index c5376c725503..5ca7290c2e61 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -548,7 +548,7 @@ static long inet_wait_for_connect(struct sock *sk, long timeo) | |||
548 | { | 548 | { |
549 | DEFINE_WAIT(wait); | 549 | DEFINE_WAIT(wait); |
550 | 550 | ||
551 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 551 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
552 | 552 | ||
553 | /* Basic assumption: if someone sets sk->sk_err, he _must_ | 553 | /* Basic assumption: if someone sets sk->sk_err, he _must_ |
554 | * change state of the socket from TCP_SYN_*. | 554 | * change state of the socket from TCP_SYN_*. |
@@ -561,9 +561,9 @@ static long inet_wait_for_connect(struct sock *sk, long timeo) | |||
561 | lock_sock(sk); | 561 | lock_sock(sk); |
562 | if (signal_pending(current) || !timeo) | 562 | if (signal_pending(current) || !timeo) |
563 | break; | 563 | break; |
564 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 564 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
565 | } | 565 | } |
566 | finish_wait(sk->sk_sleep, &wait); | 566 | finish_wait(sk_sleep(sk), &wait); |
567 | return timeo; | 567 | return timeo; |
568 | } | 568 | } |
569 | 569 | ||
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index 8da6429269dd..e0a3e3537b14 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c | |||
@@ -234,7 +234,7 @@ static int inet_csk_wait_for_connect(struct sock *sk, long timeo) | |||
234 | * having to remove and re-insert us on the wait queue. | 234 | * having to remove and re-insert us on the wait queue. |
235 | */ | 235 | */ |
236 | for (;;) { | 236 | for (;;) { |
237 | prepare_to_wait_exclusive(sk->sk_sleep, &wait, | 237 | prepare_to_wait_exclusive(sk_sleep(sk), &wait, |
238 | TASK_INTERRUPTIBLE); | 238 | TASK_INTERRUPTIBLE); |
239 | release_sock(sk); | 239 | release_sock(sk); |
240 | if (reqsk_queue_empty(&icsk->icsk_accept_queue)) | 240 | if (reqsk_queue_empty(&icsk->icsk_accept_queue)) |
@@ -253,7 +253,7 @@ static int inet_csk_wait_for_connect(struct sock *sk, long timeo) | |||
253 | if (!timeo) | 253 | if (!timeo) |
254 | break; | 254 | break; |
255 | } | 255 | } |
256 | finish_wait(sk->sk_sleep, &wait); | 256 | finish_wait(sk_sleep(sk), &wait); |
257 | return err; | 257 | return err; |
258 | } | 258 | } |
259 | 259 | ||
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 0f8caf64caa3..77208334a613 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -378,7 +378,7 @@ unsigned int tcp_poll(struct file *file, struct socket *sock, poll_table *wait) | |||
378 | struct sock *sk = sock->sk; | 378 | struct sock *sk = sock->sk; |
379 | struct tcp_sock *tp = tcp_sk(sk); | 379 | struct tcp_sock *tp = tcp_sk(sk); |
380 | 380 | ||
381 | sock_poll_wait(file, sk->sk_sleep, wait); | 381 | sock_poll_wait(file, sk_sleep(sk), wait); |
382 | if (sk->sk_state == TCP_LISTEN) | 382 | if (sk->sk_state == TCP_LISTEN) |
383 | return inet_csk_listen_poll(sk); | 383 | return inet_csk_listen_poll(sk); |
384 | 384 | ||
diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c index 2a4efcea3423..79986a674f6e 100644 --- a/net/irda/af_irda.c +++ b/net/irda/af_irda.c | |||
@@ -347,7 +347,7 @@ static void irda_flow_indication(void *instance, void *sap, LOCAL_FLOW flow) | |||
347 | self->tx_flow = flow; | 347 | self->tx_flow = flow; |
348 | IRDA_DEBUG(1, "%s(), IrTTP wants us to start again\n", | 348 | IRDA_DEBUG(1, "%s(), IrTTP wants us to start again\n", |
349 | __func__); | 349 | __func__); |
350 | wake_up_interruptible(sk->sk_sleep); | 350 | wake_up_interruptible(sk_sleep(sk)); |
351 | break; | 351 | break; |
352 | default: | 352 | default: |
353 | IRDA_DEBUG(0, "%s(), Unknown flow command!\n", __func__); | 353 | IRDA_DEBUG(0, "%s(), Unknown flow command!\n", __func__); |
@@ -900,7 +900,7 @@ static int irda_accept(struct socket *sock, struct socket *newsock, int flags) | |||
900 | if (flags & O_NONBLOCK) | 900 | if (flags & O_NONBLOCK) |
901 | goto out; | 901 | goto out; |
902 | 902 | ||
903 | err = wait_event_interruptible(*(sk->sk_sleep), | 903 | err = wait_event_interruptible(*(sk_sleep(sk)), |
904 | skb_peek(&sk->sk_receive_queue)); | 904 | skb_peek(&sk->sk_receive_queue)); |
905 | if (err) | 905 | if (err) |
906 | goto out; | 906 | goto out; |
@@ -1066,7 +1066,7 @@ static int irda_connect(struct socket *sock, struct sockaddr *uaddr, | |||
1066 | goto out; | 1066 | goto out; |
1067 | 1067 | ||
1068 | err = -ERESTARTSYS; | 1068 | err = -ERESTARTSYS; |
1069 | if (wait_event_interruptible(*(sk->sk_sleep), | 1069 | if (wait_event_interruptible(*(sk_sleep(sk)), |
1070 | (sk->sk_state != TCP_SYN_SENT))) | 1070 | (sk->sk_state != TCP_SYN_SENT))) |
1071 | goto out; | 1071 | goto out; |
1072 | 1072 | ||
@@ -1318,7 +1318,7 @@ static int irda_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
1318 | 1318 | ||
1319 | /* Check if IrTTP is wants us to slow down */ | 1319 | /* Check if IrTTP is wants us to slow down */ |
1320 | 1320 | ||
1321 | if (wait_event_interruptible(*(sk->sk_sleep), | 1321 | if (wait_event_interruptible(*(sk_sleep(sk)), |
1322 | (self->tx_flow != FLOW_STOP || sk->sk_state != TCP_ESTABLISHED))) { | 1322 | (self->tx_flow != FLOW_STOP || sk->sk_state != TCP_ESTABLISHED))) { |
1323 | err = -ERESTARTSYS; | 1323 | err = -ERESTARTSYS; |
1324 | goto out; | 1324 | goto out; |
@@ -1477,7 +1477,7 @@ static int irda_recvmsg_stream(struct kiocb *iocb, struct socket *sock, | |||
1477 | if (copied >= target) | 1477 | if (copied >= target) |
1478 | break; | 1478 | break; |
1479 | 1479 | ||
1480 | prepare_to_wait_exclusive(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 1480 | prepare_to_wait_exclusive(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
1481 | 1481 | ||
1482 | /* | 1482 | /* |
1483 | * POSIX 1003.1g mandates this order. | 1483 | * POSIX 1003.1g mandates this order. |
@@ -1497,7 +1497,7 @@ static int irda_recvmsg_stream(struct kiocb *iocb, struct socket *sock, | |||
1497 | /* Wait process until data arrives */ | 1497 | /* Wait process until data arrives */ |
1498 | schedule(); | 1498 | schedule(); |
1499 | 1499 | ||
1500 | finish_wait(sk->sk_sleep, &wait); | 1500 | finish_wait(sk_sleep(sk), &wait); |
1501 | 1501 | ||
1502 | if (err) | 1502 | if (err) |
1503 | goto out; | 1503 | goto out; |
@@ -1787,7 +1787,7 @@ static unsigned int irda_poll(struct file * file, struct socket *sock, | |||
1787 | IRDA_DEBUG(4, "%s()\n", __func__); | 1787 | IRDA_DEBUG(4, "%s()\n", __func__); |
1788 | 1788 | ||
1789 | lock_kernel(); | 1789 | lock_kernel(); |
1790 | poll_wait(file, sk->sk_sleep, wait); | 1790 | poll_wait(file, sk_sleep(sk), wait); |
1791 | mask = 0; | 1791 | mask = 0; |
1792 | 1792 | ||
1793 | /* Exceptional events? */ | 1793 | /* Exceptional events? */ |
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c index c18286a2167b..9636b7d27b48 100644 --- a/net/iucv/af_iucv.c +++ b/net/iucv/af_iucv.c | |||
@@ -59,7 +59,7 @@ do { \ | |||
59 | DEFINE_WAIT(__wait); \ | 59 | DEFINE_WAIT(__wait); \ |
60 | long __timeo = timeo; \ | 60 | long __timeo = timeo; \ |
61 | ret = 0; \ | 61 | ret = 0; \ |
62 | prepare_to_wait(sk->sk_sleep, &__wait, TASK_INTERRUPTIBLE); \ | 62 | prepare_to_wait(sk_sleep(sk), &__wait, TASK_INTERRUPTIBLE); \ |
63 | while (!(condition)) { \ | 63 | while (!(condition)) { \ |
64 | if (!__timeo) { \ | 64 | if (!__timeo) { \ |
65 | ret = -EAGAIN; \ | 65 | ret = -EAGAIN; \ |
@@ -76,7 +76,7 @@ do { \ | |||
76 | if (ret) \ | 76 | if (ret) \ |
77 | break; \ | 77 | break; \ |
78 | } \ | 78 | } \ |
79 | finish_wait(sk->sk_sleep, &__wait); \ | 79 | finish_wait(sk_sleep(sk), &__wait); \ |
80 | } while (0) | 80 | } while (0) |
81 | 81 | ||
82 | #define iucv_sock_wait(sk, condition, timeo) \ | 82 | #define iucv_sock_wait(sk, condition, timeo) \ |
@@ -307,7 +307,7 @@ static void iucv_sock_wake_msglim(struct sock *sk) | |||
307 | { | 307 | { |
308 | read_lock(&sk->sk_callback_lock); | 308 | read_lock(&sk->sk_callback_lock); |
309 | if (sk_has_sleeper(sk)) | 309 | if (sk_has_sleeper(sk)) |
310 | wake_up_interruptible_all(sk->sk_sleep); | 310 | wake_up_interruptible_all(sk_sleep(sk)); |
311 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); | 311 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); |
312 | read_unlock(&sk->sk_callback_lock); | 312 | read_unlock(&sk->sk_callback_lock); |
313 | } | 313 | } |
@@ -795,7 +795,7 @@ static int iucv_sock_accept(struct socket *sock, struct socket *newsock, | |||
795 | timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK); | 795 | timeo = sock_rcvtimeo(sk, flags & O_NONBLOCK); |
796 | 796 | ||
797 | /* Wait for an incoming connection */ | 797 | /* Wait for an incoming connection */ |
798 | add_wait_queue_exclusive(sk->sk_sleep, &wait); | 798 | add_wait_queue_exclusive(sk_sleep(sk), &wait); |
799 | while (!(nsk = iucv_accept_dequeue(sk, newsock))) { | 799 | while (!(nsk = iucv_accept_dequeue(sk, newsock))) { |
800 | set_current_state(TASK_INTERRUPTIBLE); | 800 | set_current_state(TASK_INTERRUPTIBLE); |
801 | if (!timeo) { | 801 | if (!timeo) { |
@@ -819,7 +819,7 @@ static int iucv_sock_accept(struct socket *sock, struct socket *newsock, | |||
819 | } | 819 | } |
820 | 820 | ||
821 | set_current_state(TASK_RUNNING); | 821 | set_current_state(TASK_RUNNING); |
822 | remove_wait_queue(sk->sk_sleep, &wait); | 822 | remove_wait_queue(sk_sleep(sk), &wait); |
823 | 823 | ||
824 | if (err) | 824 | if (err) |
825 | goto done; | 825 | goto done; |
@@ -1269,7 +1269,7 @@ unsigned int iucv_sock_poll(struct file *file, struct socket *sock, | |||
1269 | struct sock *sk = sock->sk; | 1269 | struct sock *sk = sock->sk; |
1270 | unsigned int mask = 0; | 1270 | unsigned int mask = 0; |
1271 | 1271 | ||
1272 | sock_poll_wait(file, sk->sk_sleep, wait); | 1272 | sock_poll_wait(file, sk_sleep(sk), wait); |
1273 | 1273 | ||
1274 | if (sk->sk_state == IUCV_LISTEN) | 1274 | if (sk->sk_state == IUCV_LISTEN) |
1275 | return iucv_accept_poll(sk); | 1275 | return iucv_accept_poll(sk); |
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c index 2db6a9f75913..023ba820236f 100644 --- a/net/llc/af_llc.c +++ b/net/llc/af_llc.c | |||
@@ -536,7 +536,7 @@ static int llc_ui_wait_for_disc(struct sock *sk, long timeout) | |||
536 | int rc = 0; | 536 | int rc = 0; |
537 | 537 | ||
538 | while (1) { | 538 | while (1) { |
539 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 539 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
540 | if (sk_wait_event(sk, &timeout, sk->sk_state == TCP_CLOSE)) | 540 | if (sk_wait_event(sk, &timeout, sk->sk_state == TCP_CLOSE)) |
541 | break; | 541 | break; |
542 | rc = -ERESTARTSYS; | 542 | rc = -ERESTARTSYS; |
@@ -547,7 +547,7 @@ static int llc_ui_wait_for_disc(struct sock *sk, long timeout) | |||
547 | break; | 547 | break; |
548 | rc = 0; | 548 | rc = 0; |
549 | } | 549 | } |
550 | finish_wait(sk->sk_sleep, &wait); | 550 | finish_wait(sk_sleep(sk), &wait); |
551 | return rc; | 551 | return rc; |
552 | } | 552 | } |
553 | 553 | ||
@@ -556,13 +556,13 @@ static int llc_ui_wait_for_conn(struct sock *sk, long timeout) | |||
556 | DEFINE_WAIT(wait); | 556 | DEFINE_WAIT(wait); |
557 | 557 | ||
558 | while (1) { | 558 | while (1) { |
559 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 559 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
560 | if (sk_wait_event(sk, &timeout, sk->sk_state != TCP_SYN_SENT)) | 560 | if (sk_wait_event(sk, &timeout, sk->sk_state != TCP_SYN_SENT)) |
561 | break; | 561 | break; |
562 | if (signal_pending(current) || !timeout) | 562 | if (signal_pending(current) || !timeout) |
563 | break; | 563 | break; |
564 | } | 564 | } |
565 | finish_wait(sk->sk_sleep, &wait); | 565 | finish_wait(sk_sleep(sk), &wait); |
566 | return timeout; | 566 | return timeout; |
567 | } | 567 | } |
568 | 568 | ||
@@ -573,7 +573,7 @@ static int llc_ui_wait_for_busy_core(struct sock *sk, long timeout) | |||
573 | int rc; | 573 | int rc; |
574 | 574 | ||
575 | while (1) { | 575 | while (1) { |
576 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 576 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
577 | rc = 0; | 577 | rc = 0; |
578 | if (sk_wait_event(sk, &timeout, | 578 | if (sk_wait_event(sk, &timeout, |
579 | (sk->sk_shutdown & RCV_SHUTDOWN) || | 579 | (sk->sk_shutdown & RCV_SHUTDOWN) || |
@@ -588,7 +588,7 @@ static int llc_ui_wait_for_busy_core(struct sock *sk, long timeout) | |||
588 | if (!timeout) | 588 | if (!timeout) |
589 | break; | 589 | break; |
590 | } | 590 | } |
591 | finish_wait(sk->sk_sleep, &wait); | 591 | finish_wait(sk_sleep(sk), &wait); |
592 | return rc; | 592 | return rc; |
593 | } | 593 | } |
594 | 594 | ||
diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c index 8fb0ae616761..7ba06939829f 100644 --- a/net/netfilter/ipvs/ip_vs_sync.c +++ b/net/netfilter/ipvs/ip_vs_sync.c | |||
@@ -802,7 +802,7 @@ static int sync_thread_backup(void *data) | |||
802 | ip_vs_backup_mcast_ifn, ip_vs_backup_syncid); | 802 | ip_vs_backup_mcast_ifn, ip_vs_backup_syncid); |
803 | 803 | ||
804 | while (!kthread_should_stop()) { | 804 | while (!kthread_should_stop()) { |
805 | wait_event_interruptible(*tinfo->sock->sk->sk_sleep, | 805 | wait_event_interruptible(*sk_sleep(tinfo->sock->sk), |
806 | !skb_queue_empty(&tinfo->sock->sk->sk_receive_queue) | 806 | !skb_queue_empty(&tinfo->sock->sk->sk_receive_queue) |
807 | || kthread_should_stop()); | 807 | || kthread_should_stop()); |
808 | 808 | ||
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c index fa07f044b599..06cb02796a0e 100644 --- a/net/netrom/af_netrom.c +++ b/net/netrom/af_netrom.c | |||
@@ -739,7 +739,7 @@ static int nr_connect(struct socket *sock, struct sockaddr *uaddr, | |||
739 | DEFINE_WAIT(wait); | 739 | DEFINE_WAIT(wait); |
740 | 740 | ||
741 | for (;;) { | 741 | for (;;) { |
742 | prepare_to_wait(sk->sk_sleep, &wait, | 742 | prepare_to_wait(sk_sleep(sk), &wait, |
743 | TASK_INTERRUPTIBLE); | 743 | TASK_INTERRUPTIBLE); |
744 | if (sk->sk_state != TCP_SYN_SENT) | 744 | if (sk->sk_state != TCP_SYN_SENT) |
745 | break; | 745 | break; |
@@ -752,7 +752,7 @@ static int nr_connect(struct socket *sock, struct sockaddr *uaddr, | |||
752 | err = -ERESTARTSYS; | 752 | err = -ERESTARTSYS; |
753 | break; | 753 | break; |
754 | } | 754 | } |
755 | finish_wait(sk->sk_sleep, &wait); | 755 | finish_wait(sk_sleep(sk), &wait); |
756 | if (err) | 756 | if (err) |
757 | goto out_release; | 757 | goto out_release; |
758 | } | 758 | } |
@@ -798,7 +798,7 @@ static int nr_accept(struct socket *sock, struct socket *newsock, int flags) | |||
798 | * hooked into the SABM we saved | 798 | * hooked into the SABM we saved |
799 | */ | 799 | */ |
800 | for (;;) { | 800 | for (;;) { |
801 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 801 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
802 | skb = skb_dequeue(&sk->sk_receive_queue); | 802 | skb = skb_dequeue(&sk->sk_receive_queue); |
803 | if (skb) | 803 | if (skb) |
804 | break; | 804 | break; |
@@ -816,7 +816,7 @@ static int nr_accept(struct socket *sock, struct socket *newsock, int flags) | |||
816 | err = -ERESTARTSYS; | 816 | err = -ERESTARTSYS; |
817 | break; | 817 | break; |
818 | } | 818 | } |
819 | finish_wait(sk->sk_sleep, &wait); | 819 | finish_wait(sk_sleep(sk), &wait); |
820 | if (err) | 820 | if (err) |
821 | goto out_release; | 821 | goto out_release; |
822 | 822 | ||
diff --git a/net/rds/af_rds.c b/net/rds/af_rds.c index 7919a9edb8e9..aebfecbdb841 100644 --- a/net/rds/af_rds.c +++ b/net/rds/af_rds.c | |||
@@ -158,7 +158,7 @@ static unsigned int rds_poll(struct file *file, struct socket *sock, | |||
158 | unsigned int mask = 0; | 158 | unsigned int mask = 0; |
159 | unsigned long flags; | 159 | unsigned long flags; |
160 | 160 | ||
161 | poll_wait(file, sk->sk_sleep, wait); | 161 | poll_wait(file, sk_sleep(sk), wait); |
162 | 162 | ||
163 | if (rs->rs_seen_congestion) | 163 | if (rs->rs_seen_congestion) |
164 | poll_wait(file, &rds_poll_waitq, wait); | 164 | poll_wait(file, &rds_poll_waitq, wait); |
diff --git a/net/rds/rds.h b/net/rds/rds.h index 4bec6e2ed495..c224b5bb3ba9 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h | |||
@@ -492,7 +492,7 @@ void rds_sock_put(struct rds_sock *rs); | |||
492 | void rds_wake_sk_sleep(struct rds_sock *rs); | 492 | void rds_wake_sk_sleep(struct rds_sock *rs); |
493 | static inline void __rds_wake_sk_sleep(struct sock *sk) | 493 | static inline void __rds_wake_sk_sleep(struct sock *sk) |
494 | { | 494 | { |
495 | wait_queue_head_t *waitq = sk->sk_sleep; | 495 | wait_queue_head_t *waitq = sk_sleep(sk); |
496 | 496 | ||
497 | if (!sock_flag(sk, SOCK_DEAD) && waitq) | 497 | if (!sock_flag(sk, SOCK_DEAD) && waitq) |
498 | wake_up(waitq); | 498 | wake_up(waitq); |
diff --git a/net/rds/recv.c b/net/rds/recv.c index e2a2b9344f7b..795a00b7f2cb 100644 --- a/net/rds/recv.c +++ b/net/rds/recv.c | |||
@@ -432,7 +432,7 @@ int rds_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | |||
432 | break; | 432 | break; |
433 | } | 433 | } |
434 | 434 | ||
435 | timeo = wait_event_interruptible_timeout(*sk->sk_sleep, | 435 | timeo = wait_event_interruptible_timeout(*sk_sleep(sk), |
436 | (!list_empty(&rs->rs_notify_queue) || | 436 | (!list_empty(&rs->rs_notify_queue) || |
437 | rs->rs_cong_notify || | 437 | rs->rs_cong_notify || |
438 | rds_next_incoming(rs, &inc)), timeo); | 438 | rds_next_incoming(rs, &inc)), timeo); |
diff --git a/net/rds/send.c b/net/rds/send.c index 53d6795ac9d0..9c1c6bcaa6c9 100644 --- a/net/rds/send.c +++ b/net/rds/send.c | |||
@@ -915,7 +915,7 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | |||
915 | goto out; | 915 | goto out; |
916 | } | 916 | } |
917 | 917 | ||
918 | timeo = wait_event_interruptible_timeout(*sk->sk_sleep, | 918 | timeo = wait_event_interruptible_timeout(*sk_sleep(sk), |
919 | rds_send_queue_rm(rs, conn, rm, | 919 | rds_send_queue_rm(rs, conn, rm, |
920 | rs->rs_bound_port, | 920 | rs->rs_bound_port, |
921 | dport, | 921 | dport, |
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index 4fb711a035f4..8e45e76a95f5 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c | |||
@@ -845,7 +845,7 @@ rose_try_next_neigh: | |||
845 | DEFINE_WAIT(wait); | 845 | DEFINE_WAIT(wait); |
846 | 846 | ||
847 | for (;;) { | 847 | for (;;) { |
848 | prepare_to_wait(sk->sk_sleep, &wait, | 848 | prepare_to_wait(sk_sleep(sk), &wait, |
849 | TASK_INTERRUPTIBLE); | 849 | TASK_INTERRUPTIBLE); |
850 | if (sk->sk_state != TCP_SYN_SENT) | 850 | if (sk->sk_state != TCP_SYN_SENT) |
851 | break; | 851 | break; |
@@ -858,7 +858,7 @@ rose_try_next_neigh: | |||
858 | err = -ERESTARTSYS; | 858 | err = -ERESTARTSYS; |
859 | break; | 859 | break; |
860 | } | 860 | } |
861 | finish_wait(sk->sk_sleep, &wait); | 861 | finish_wait(sk_sleep(sk), &wait); |
862 | 862 | ||
863 | if (err) | 863 | if (err) |
864 | goto out_release; | 864 | goto out_release; |
@@ -911,7 +911,7 @@ static int rose_accept(struct socket *sock, struct socket *newsock, int flags) | |||
911 | * hooked into the SABM we saved | 911 | * hooked into the SABM we saved |
912 | */ | 912 | */ |
913 | for (;;) { | 913 | for (;;) { |
914 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 914 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
915 | 915 | ||
916 | skb = skb_dequeue(&sk->sk_receive_queue); | 916 | skb = skb_dequeue(&sk->sk_receive_queue); |
917 | if (skb) | 917 | if (skb) |
@@ -930,7 +930,7 @@ static int rose_accept(struct socket *sock, struct socket *newsock, int flags) | |||
930 | err = -ERESTARTSYS; | 930 | err = -ERESTARTSYS; |
931 | break; | 931 | break; |
932 | } | 932 | } |
933 | finish_wait(sk->sk_sleep, &wait); | 933 | finish_wait(sk_sleep(sk), &wait); |
934 | if (err) | 934 | if (err) |
935 | goto out_release; | 935 | goto out_release; |
936 | 936 | ||
diff --git a/net/rxrpc/af_rxrpc.c b/net/rxrpc/af_rxrpc.c index c060095b27ce..c432d76f415e 100644 --- a/net/rxrpc/af_rxrpc.c +++ b/net/rxrpc/af_rxrpc.c | |||
@@ -65,7 +65,7 @@ static void rxrpc_write_space(struct sock *sk) | |||
65 | read_lock(&sk->sk_callback_lock); | 65 | read_lock(&sk->sk_callback_lock); |
66 | if (rxrpc_writable(sk)) { | 66 | if (rxrpc_writable(sk)) { |
67 | if (sk_has_sleeper(sk)) | 67 | if (sk_has_sleeper(sk)) |
68 | wake_up_interruptible(sk->sk_sleep); | 68 | wake_up_interruptible(sk_sleep(sk)); |
69 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); | 69 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); |
70 | } | 70 | } |
71 | read_unlock(&sk->sk_callback_lock); | 71 | read_unlock(&sk->sk_callback_lock); |
@@ -589,7 +589,7 @@ static unsigned int rxrpc_poll(struct file *file, struct socket *sock, | |||
589 | unsigned int mask; | 589 | unsigned int mask; |
590 | struct sock *sk = sock->sk; | 590 | struct sock *sk = sock->sk; |
591 | 591 | ||
592 | sock_poll_wait(file, sk->sk_sleep, wait); | 592 | sock_poll_wait(file, sk_sleep(sk), wait); |
593 | mask = 0; | 593 | mask = 0; |
594 | 594 | ||
595 | /* the socket is readable if there are any messages waiting on the Rx | 595 | /* the socket is readable if there are any messages waiting on the Rx |
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index c1941276f6e3..f34adcca8a8c 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
@@ -5702,7 +5702,7 @@ unsigned int sctp_poll(struct file *file, struct socket *sock, poll_table *wait) | |||
5702 | struct sctp_sock *sp = sctp_sk(sk); | 5702 | struct sctp_sock *sp = sctp_sk(sk); |
5703 | unsigned int mask; | 5703 | unsigned int mask; |
5704 | 5704 | ||
5705 | poll_wait(file, sk->sk_sleep, wait); | 5705 | poll_wait(file, sk_sleep(sk), wait); |
5706 | 5706 | ||
5707 | /* A TCP-style listening socket becomes readable when the accept queue | 5707 | /* A TCP-style listening socket becomes readable when the accept queue |
5708 | * is not empty. | 5708 | * is not empty. |
@@ -5943,7 +5943,7 @@ static int sctp_wait_for_packet(struct sock * sk, int *err, long *timeo_p) | |||
5943 | int error; | 5943 | int error; |
5944 | DEFINE_WAIT(wait); | 5944 | DEFINE_WAIT(wait); |
5945 | 5945 | ||
5946 | prepare_to_wait_exclusive(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 5946 | prepare_to_wait_exclusive(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
5947 | 5947 | ||
5948 | /* Socket errors? */ | 5948 | /* Socket errors? */ |
5949 | error = sock_error(sk); | 5949 | error = sock_error(sk); |
@@ -5980,14 +5980,14 @@ static int sctp_wait_for_packet(struct sock * sk, int *err, long *timeo_p) | |||
5980 | sctp_lock_sock(sk); | 5980 | sctp_lock_sock(sk); |
5981 | 5981 | ||
5982 | ready: | 5982 | ready: |
5983 | finish_wait(sk->sk_sleep, &wait); | 5983 | finish_wait(sk_sleep(sk), &wait); |
5984 | return 0; | 5984 | return 0; |
5985 | 5985 | ||
5986 | interrupted: | 5986 | interrupted: |
5987 | error = sock_intr_errno(*timeo_p); | 5987 | error = sock_intr_errno(*timeo_p); |
5988 | 5988 | ||
5989 | out: | 5989 | out: |
5990 | finish_wait(sk->sk_sleep, &wait); | 5990 | finish_wait(sk_sleep(sk), &wait); |
5991 | *err = error; | 5991 | *err = error; |
5992 | return error; | 5992 | return error; |
5993 | } | 5993 | } |
@@ -6061,8 +6061,8 @@ static void __sctp_write_space(struct sctp_association *asoc) | |||
6061 | wake_up_interruptible(&asoc->wait); | 6061 | wake_up_interruptible(&asoc->wait); |
6062 | 6062 | ||
6063 | if (sctp_writeable(sk)) { | 6063 | if (sctp_writeable(sk)) { |
6064 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 6064 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
6065 | wake_up_interruptible(sk->sk_sleep); | 6065 | wake_up_interruptible(sk_sleep(sk)); |
6066 | 6066 | ||
6067 | /* Note that we try to include the Async I/O support | 6067 | /* Note that we try to include the Async I/O support |
6068 | * here by modeling from the current TCP/UDP code. | 6068 | * here by modeling from the current TCP/UDP code. |
@@ -6296,7 +6296,7 @@ static int sctp_wait_for_accept(struct sock *sk, long timeo) | |||
6296 | 6296 | ||
6297 | 6297 | ||
6298 | for (;;) { | 6298 | for (;;) { |
6299 | prepare_to_wait_exclusive(sk->sk_sleep, &wait, | 6299 | prepare_to_wait_exclusive(sk_sleep(sk), &wait, |
6300 | TASK_INTERRUPTIBLE); | 6300 | TASK_INTERRUPTIBLE); |
6301 | 6301 | ||
6302 | if (list_empty(&ep->asocs)) { | 6302 | if (list_empty(&ep->asocs)) { |
@@ -6322,7 +6322,7 @@ static int sctp_wait_for_accept(struct sock *sk, long timeo) | |||
6322 | break; | 6322 | break; |
6323 | } | 6323 | } |
6324 | 6324 | ||
6325 | finish_wait(sk->sk_sleep, &wait); | 6325 | finish_wait(sk_sleep(sk), &wait); |
6326 | 6326 | ||
6327 | return err; | 6327 | return err; |
6328 | } | 6328 | } |
@@ -6332,7 +6332,7 @@ static void sctp_wait_for_close(struct sock *sk, long timeout) | |||
6332 | DEFINE_WAIT(wait); | 6332 | DEFINE_WAIT(wait); |
6333 | 6333 | ||
6334 | do { | 6334 | do { |
6335 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 6335 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
6336 | if (list_empty(&sctp_sk(sk)->ep->asocs)) | 6336 | if (list_empty(&sctp_sk(sk)->ep->asocs)) |
6337 | break; | 6337 | break; |
6338 | sctp_release_sock(sk); | 6338 | sctp_release_sock(sk); |
@@ -6340,7 +6340,7 @@ static void sctp_wait_for_close(struct sock *sk, long timeout) | |||
6340 | sctp_lock_sock(sk); | 6340 | sctp_lock_sock(sk); |
6341 | } while (!signal_pending(current) && timeout); | 6341 | } while (!signal_pending(current) && timeout); |
6342 | 6342 | ||
6343 | finish_wait(sk->sk_sleep, &wait); | 6343 | finish_wait(sk_sleep(sk), &wait); |
6344 | } | 6344 | } |
6345 | 6345 | ||
6346 | static void sctp_skb_set_owner_r_frag(struct sk_buff *skb, struct sock *sk) | 6346 | static void sctp_skb_set_owner_r_frag(struct sk_buff *skb, struct sock *sk) |
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index a29f259204e6..ce0d5b35c2ac 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c | |||
@@ -419,8 +419,8 @@ static void svc_udp_data_ready(struct sock *sk, int count) | |||
419 | set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags); | 419 | set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags); |
420 | svc_xprt_enqueue(&svsk->sk_xprt); | 420 | svc_xprt_enqueue(&svsk->sk_xprt); |
421 | } | 421 | } |
422 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 422 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
423 | wake_up_interruptible(sk->sk_sleep); | 423 | wake_up_interruptible(sk_sleep(sk)); |
424 | } | 424 | } |
425 | 425 | ||
426 | /* | 426 | /* |
@@ -436,10 +436,10 @@ static void svc_write_space(struct sock *sk) | |||
436 | svc_xprt_enqueue(&svsk->sk_xprt); | 436 | svc_xprt_enqueue(&svsk->sk_xprt); |
437 | } | 437 | } |
438 | 438 | ||
439 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) { | 439 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) { |
440 | dprintk("RPC svc_write_space: someone sleeping on %p\n", | 440 | dprintk("RPC svc_write_space: someone sleeping on %p\n", |
441 | svsk); | 441 | svsk); |
442 | wake_up_interruptible(sk->sk_sleep); | 442 | wake_up_interruptible(sk_sleep(sk)); |
443 | } | 443 | } |
444 | } | 444 | } |
445 | 445 | ||
@@ -757,8 +757,8 @@ static void svc_tcp_listen_data_ready(struct sock *sk, int count_unused) | |||
757 | printk("svc: socket %p: no user data\n", sk); | 757 | printk("svc: socket %p: no user data\n", sk); |
758 | } | 758 | } |
759 | 759 | ||
760 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 760 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
761 | wake_up_interruptible_all(sk->sk_sleep); | 761 | wake_up_interruptible_all(sk_sleep(sk)); |
762 | } | 762 | } |
763 | 763 | ||
764 | /* | 764 | /* |
@@ -777,8 +777,8 @@ static void svc_tcp_state_change(struct sock *sk) | |||
777 | set_bit(XPT_CLOSE, &svsk->sk_xprt.xpt_flags); | 777 | set_bit(XPT_CLOSE, &svsk->sk_xprt.xpt_flags); |
778 | svc_xprt_enqueue(&svsk->sk_xprt); | 778 | svc_xprt_enqueue(&svsk->sk_xprt); |
779 | } | 779 | } |
780 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 780 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
781 | wake_up_interruptible_all(sk->sk_sleep); | 781 | wake_up_interruptible_all(sk_sleep(sk)); |
782 | } | 782 | } |
783 | 783 | ||
784 | static void svc_tcp_data_ready(struct sock *sk, int count) | 784 | static void svc_tcp_data_ready(struct sock *sk, int count) |
@@ -791,8 +791,8 @@ static void svc_tcp_data_ready(struct sock *sk, int count) | |||
791 | set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags); | 791 | set_bit(XPT_DATA, &svsk->sk_xprt.xpt_flags); |
792 | svc_xprt_enqueue(&svsk->sk_xprt); | 792 | svc_xprt_enqueue(&svsk->sk_xprt); |
793 | } | 793 | } |
794 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 794 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
795 | wake_up_interruptible(sk->sk_sleep); | 795 | wake_up_interruptible(sk_sleep(sk)); |
796 | } | 796 | } |
797 | 797 | ||
798 | /* | 798 | /* |
@@ -1494,8 +1494,8 @@ static void svc_sock_detach(struct svc_xprt *xprt) | |||
1494 | sk->sk_data_ready = svsk->sk_odata; | 1494 | sk->sk_data_ready = svsk->sk_odata; |
1495 | sk->sk_write_space = svsk->sk_owspace; | 1495 | sk->sk_write_space = svsk->sk_owspace; |
1496 | 1496 | ||
1497 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 1497 | if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
1498 | wake_up_interruptible(sk->sk_sleep); | 1498 | wake_up_interruptible(sk_sleep(sk)); |
1499 | } | 1499 | } |
1500 | 1500 | ||
1501 | /* | 1501 | /* |
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index cfb20b80b3a1..66e889ba48fd 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c | |||
@@ -446,7 +446,7 @@ static unsigned int poll(struct file *file, struct socket *sock, | |||
446 | struct sock *sk = sock->sk; | 446 | struct sock *sk = sock->sk; |
447 | u32 mask; | 447 | u32 mask; |
448 | 448 | ||
449 | poll_wait(file, sk->sk_sleep, wait); | 449 | poll_wait(file, sk_sleep(sk), wait); |
450 | 450 | ||
451 | if (!skb_queue_empty(&sk->sk_receive_queue) || | 451 | if (!skb_queue_empty(&sk->sk_receive_queue) || |
452 | (sock->state == SS_UNCONNECTED) || | 452 | (sock->state == SS_UNCONNECTED) || |
@@ -591,7 +591,7 @@ static int send_msg(struct kiocb *iocb, struct socket *sock, | |||
591 | break; | 591 | break; |
592 | } | 592 | } |
593 | release_sock(sk); | 593 | release_sock(sk); |
594 | res = wait_event_interruptible(*sk->sk_sleep, | 594 | res = wait_event_interruptible(*sk_sleep(sk), |
595 | !tport->congested); | 595 | !tport->congested); |
596 | lock_sock(sk); | 596 | lock_sock(sk); |
597 | if (res) | 597 | if (res) |
@@ -650,7 +650,7 @@ static int send_packet(struct kiocb *iocb, struct socket *sock, | |||
650 | break; | 650 | break; |
651 | } | 651 | } |
652 | release_sock(sk); | 652 | release_sock(sk); |
653 | res = wait_event_interruptible(*sk->sk_sleep, | 653 | res = wait_event_interruptible(*sk_sleep(sk), |
654 | (!tport->congested || !tport->connected)); | 654 | (!tport->congested || !tport->connected)); |
655 | lock_sock(sk); | 655 | lock_sock(sk); |
656 | if (res) | 656 | if (res) |
@@ -931,7 +931,7 @@ restart: | |||
931 | goto exit; | 931 | goto exit; |
932 | } | 932 | } |
933 | release_sock(sk); | 933 | release_sock(sk); |
934 | res = wait_event_interruptible(*sk->sk_sleep, | 934 | res = wait_event_interruptible(*sk_sleep(sk), |
935 | (!skb_queue_empty(&sk->sk_receive_queue) || | 935 | (!skb_queue_empty(&sk->sk_receive_queue) || |
936 | (sock->state == SS_DISCONNECTING))); | 936 | (sock->state == SS_DISCONNECTING))); |
937 | lock_sock(sk); | 937 | lock_sock(sk); |
@@ -1064,7 +1064,7 @@ restart: | |||
1064 | goto exit; | 1064 | goto exit; |
1065 | } | 1065 | } |
1066 | release_sock(sk); | 1066 | release_sock(sk); |
1067 | res = wait_event_interruptible(*sk->sk_sleep, | 1067 | res = wait_event_interruptible(*sk_sleep(sk), |
1068 | (!skb_queue_empty(&sk->sk_receive_queue) || | 1068 | (!skb_queue_empty(&sk->sk_receive_queue) || |
1069 | (sock->state == SS_DISCONNECTING))); | 1069 | (sock->state == SS_DISCONNECTING))); |
1070 | lock_sock(sk); | 1070 | lock_sock(sk); |
@@ -1271,8 +1271,8 @@ static u32 filter_rcv(struct sock *sk, struct sk_buff *buf) | |||
1271 | tipc_disconnect_port(tipc_sk_port(sk)); | 1271 | tipc_disconnect_port(tipc_sk_port(sk)); |
1272 | } | 1272 | } |
1273 | 1273 | ||
1274 | if (waitqueue_active(sk->sk_sleep)) | 1274 | if (waitqueue_active(sk_sleep(sk))) |
1275 | wake_up_interruptible(sk->sk_sleep); | 1275 | wake_up_interruptible(sk_sleep(sk)); |
1276 | return TIPC_OK; | 1276 | return TIPC_OK; |
1277 | } | 1277 | } |
1278 | 1278 | ||
@@ -1343,8 +1343,8 @@ static void wakeupdispatch(struct tipc_port *tport) | |||
1343 | { | 1343 | { |
1344 | struct sock *sk = (struct sock *)tport->usr_handle; | 1344 | struct sock *sk = (struct sock *)tport->usr_handle; |
1345 | 1345 | ||
1346 | if (waitqueue_active(sk->sk_sleep)) | 1346 | if (waitqueue_active(sk_sleep(sk))) |
1347 | wake_up_interruptible(sk->sk_sleep); | 1347 | wake_up_interruptible(sk_sleep(sk)); |
1348 | } | 1348 | } |
1349 | 1349 | ||
1350 | /** | 1350 | /** |
@@ -1426,7 +1426,7 @@ static int connect(struct socket *sock, struct sockaddr *dest, int destlen, | |||
1426 | /* Wait until an 'ACK' or 'RST' arrives, or a timeout occurs */ | 1426 | /* Wait until an 'ACK' or 'RST' arrives, or a timeout occurs */ |
1427 | 1427 | ||
1428 | release_sock(sk); | 1428 | release_sock(sk); |
1429 | res = wait_event_interruptible_timeout(*sk->sk_sleep, | 1429 | res = wait_event_interruptible_timeout(*sk_sleep(sk), |
1430 | (!skb_queue_empty(&sk->sk_receive_queue) || | 1430 | (!skb_queue_empty(&sk->sk_receive_queue) || |
1431 | (sock->state != SS_CONNECTING)), | 1431 | (sock->state != SS_CONNECTING)), |
1432 | sk->sk_rcvtimeo); | 1432 | sk->sk_rcvtimeo); |
@@ -1521,7 +1521,7 @@ static int accept(struct socket *sock, struct socket *new_sock, int flags) | |||
1521 | goto exit; | 1521 | goto exit; |
1522 | } | 1522 | } |
1523 | release_sock(sk); | 1523 | release_sock(sk); |
1524 | res = wait_event_interruptible(*sk->sk_sleep, | 1524 | res = wait_event_interruptible(*sk_sleep(sk), |
1525 | (!skb_queue_empty(&sk->sk_receive_queue))); | 1525 | (!skb_queue_empty(&sk->sk_receive_queue))); |
1526 | lock_sock(sk); | 1526 | lock_sock(sk); |
1527 | if (res) | 1527 | if (res) |
@@ -1632,8 +1632,8 @@ restart: | |||
1632 | /* Discard any unreceived messages; wake up sleeping tasks */ | 1632 | /* Discard any unreceived messages; wake up sleeping tasks */ |
1633 | 1633 | ||
1634 | discard_rx_queue(sk); | 1634 | discard_rx_queue(sk); |
1635 | if (waitqueue_active(sk->sk_sleep)) | 1635 | if (waitqueue_active(sk_sleep(sk))) |
1636 | wake_up_interruptible(sk->sk_sleep); | 1636 | wake_up_interruptible(sk_sleep(sk)); |
1637 | res = 0; | 1637 | res = 0; |
1638 | break; | 1638 | break; |
1639 | 1639 | ||
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 3d9122e78f41..87c0360eaa25 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
@@ -316,7 +316,7 @@ static void unix_write_space(struct sock *sk) | |||
316 | read_lock(&sk->sk_callback_lock); | 316 | read_lock(&sk->sk_callback_lock); |
317 | if (unix_writable(sk)) { | 317 | if (unix_writable(sk)) { |
318 | if (sk_has_sleeper(sk)) | 318 | if (sk_has_sleeper(sk)) |
319 | wake_up_interruptible_sync(sk->sk_sleep); | 319 | wake_up_interruptible_sync(sk_sleep(sk)); |
320 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); | 320 | sk_wake_async(sk, SOCK_WAKE_SPACE, POLL_OUT); |
321 | } | 321 | } |
322 | read_unlock(&sk->sk_callback_lock); | 322 | read_unlock(&sk->sk_callback_lock); |
@@ -1736,7 +1736,7 @@ static long unix_stream_data_wait(struct sock *sk, long timeo) | |||
1736 | unix_state_lock(sk); | 1736 | unix_state_lock(sk); |
1737 | 1737 | ||
1738 | for (;;) { | 1738 | for (;;) { |
1739 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 1739 | prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); |
1740 | 1740 | ||
1741 | if (!skb_queue_empty(&sk->sk_receive_queue) || | 1741 | if (!skb_queue_empty(&sk->sk_receive_queue) || |
1742 | sk->sk_err || | 1742 | sk->sk_err || |
@@ -1752,7 +1752,7 @@ static long unix_stream_data_wait(struct sock *sk, long timeo) | |||
1752 | clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); | 1752 | clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); |
1753 | } | 1753 | } |
1754 | 1754 | ||
1755 | finish_wait(sk->sk_sleep, &wait); | 1755 | finish_wait(sk_sleep(sk), &wait); |
1756 | unix_state_unlock(sk); | 1756 | unix_state_unlock(sk); |
1757 | return timeo; | 1757 | return timeo; |
1758 | } | 1758 | } |
@@ -1991,7 +1991,7 @@ static unsigned int unix_poll(struct file *file, struct socket *sock, poll_table | |||
1991 | struct sock *sk = sock->sk; | 1991 | struct sock *sk = sock->sk; |
1992 | unsigned int mask; | 1992 | unsigned int mask; |
1993 | 1993 | ||
1994 | sock_poll_wait(file, sk->sk_sleep, wait); | 1994 | sock_poll_wait(file, sk_sleep(sk), wait); |
1995 | mask = 0; | 1995 | mask = 0; |
1996 | 1996 | ||
1997 | /* exceptional events? */ | 1997 | /* exceptional events? */ |
@@ -2028,7 +2028,7 @@ static unsigned int unix_dgram_poll(struct file *file, struct socket *sock, | |||
2028 | struct sock *sk = sock->sk, *other; | 2028 | struct sock *sk = sock->sk, *other; |
2029 | unsigned int mask, writable; | 2029 | unsigned int mask, writable; |
2030 | 2030 | ||
2031 | sock_poll_wait(file, sk->sk_sleep, wait); | 2031 | sock_poll_wait(file, sk_sleep(sk), wait); |
2032 | mask = 0; | 2032 | mask = 0; |
2033 | 2033 | ||
2034 | /* exceptional events? */ | 2034 | /* exceptional events? */ |
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index cbddd0cb83f1..6cffbc4da029 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c | |||
@@ -718,7 +718,7 @@ static int x25_wait_for_connection_establishment(struct sock *sk) | |||
718 | DECLARE_WAITQUEUE(wait, current); | 718 | DECLARE_WAITQUEUE(wait, current); |
719 | int rc; | 719 | int rc; |
720 | 720 | ||
721 | add_wait_queue_exclusive(sk->sk_sleep, &wait); | 721 | add_wait_queue_exclusive(sk_sleep(sk), &wait); |
722 | for (;;) { | 722 | for (;;) { |
723 | __set_current_state(TASK_INTERRUPTIBLE); | 723 | __set_current_state(TASK_INTERRUPTIBLE); |
724 | rc = -ERESTARTSYS; | 724 | rc = -ERESTARTSYS; |
@@ -738,7 +738,7 @@ static int x25_wait_for_connection_establishment(struct sock *sk) | |||
738 | break; | 738 | break; |
739 | } | 739 | } |
740 | __set_current_state(TASK_RUNNING); | 740 | __set_current_state(TASK_RUNNING); |
741 | remove_wait_queue(sk->sk_sleep, &wait); | 741 | remove_wait_queue(sk_sleep(sk), &wait); |
742 | return rc; | 742 | return rc; |
743 | } | 743 | } |
744 | 744 | ||
@@ -838,7 +838,7 @@ static int x25_wait_for_data(struct sock *sk, long timeout) | |||
838 | DECLARE_WAITQUEUE(wait, current); | 838 | DECLARE_WAITQUEUE(wait, current); |
839 | int rc = 0; | 839 | int rc = 0; |
840 | 840 | ||
841 | add_wait_queue_exclusive(sk->sk_sleep, &wait); | 841 | add_wait_queue_exclusive(sk_sleep(sk), &wait); |
842 | for (;;) { | 842 | for (;;) { |
843 | __set_current_state(TASK_INTERRUPTIBLE); | 843 | __set_current_state(TASK_INTERRUPTIBLE); |
844 | if (sk->sk_shutdown & RCV_SHUTDOWN) | 844 | if (sk->sk_shutdown & RCV_SHUTDOWN) |
@@ -858,7 +858,7 @@ static int x25_wait_for_data(struct sock *sk, long timeout) | |||
858 | break; | 858 | break; |
859 | } | 859 | } |
860 | __set_current_state(TASK_RUNNING); | 860 | __set_current_state(TASK_RUNNING); |
861 | remove_wait_queue(sk->sk_sleep, &wait); | 861 | remove_wait_queue(sk_sleep(sk), &wait); |
862 | return rc; | 862 | return rc; |
863 | } | 863 | } |
864 | 864 | ||