protocol.c (40f56d0c7043d16e9d49d1df6c02804c09ed5cd6) | protocol.c (5426a4ef6455c93e76a553eda0a1811bb0bbd214) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* Multipath TCP 3 * 4 * Copyright (c) 2017 - 2019, Intel Corporation. 5 */ 6 7#define pr_fmt(fmt) "MPTCP: " fmt 8 --- 3830 unchanged lines hidden (view full) --- 3839 int state; 3840 3841 msk = mptcp_sk(sk); 3842 sock_poll_wait(file, sock, wait); 3843 3844 state = inet_sk_state_load(sk); 3845 pr_debug("msk=%p state=%d flags=%lx", msk, state, msk->flags); 3846 if (state == TCP_LISTEN) { | 1// SPDX-License-Identifier: GPL-2.0 2/* Multipath TCP 3 * 4 * Copyright (c) 2017 - 2019, Intel Corporation. 5 */ 6 7#define pr_fmt(fmt) "MPTCP: " fmt 8 --- 3830 unchanged lines hidden (view full) --- 3839 int state; 3840 3841 msk = mptcp_sk(sk); 3842 sock_poll_wait(file, sock, wait); 3843 3844 state = inet_sk_state_load(sk); 3845 pr_debug("msk=%p state=%d flags=%lx", msk, state, msk->flags); 3846 if (state == TCP_LISTEN) { |
3847 struct socket *ssock = READ_ONCE(msk->subflow); | 3847 struct sock *ssk = READ_ONCE(msk->first); |
3848 | 3848 |
3849 if (WARN_ON_ONCE(!ssock || !ssock->sk)) | 3849 if (WARN_ON_ONCE(!ssk)) |
3850 return 0; 3851 | 3850 return 0; 3851 |
3852 return inet_csk_listen_poll(ssock->sk); | 3852 return inet_csk_listen_poll(ssk); |
3853 } 3854 3855 shutdown = READ_ONCE(sk->sk_shutdown); 3856 if (shutdown == SHUTDOWN_MASK || state == TCP_CLOSE) 3857 mask |= EPOLLHUP; 3858 if (shutdown & RCV_SHUTDOWN) 3859 mask |= EPOLLIN | EPOLLRDNORM | EPOLLRDHUP; 3860 --- 168 unchanged lines hidden --- | 3853 } 3854 3855 shutdown = READ_ONCE(sk->sk_shutdown); 3856 if (shutdown == SHUTDOWN_MASK || state == TCP_CLOSE) 3857 mask |= EPOLLHUP; 3858 if (shutdown & RCV_SHUTDOWN) 3859 mask |= EPOLLIN | EPOLLRDNORM | EPOLLRDHUP; 3860 --- 168 unchanged lines hidden --- |