mptcp: avoid additional indirection in mptcp_poll()

We are going to remove the first subflow socket soon, so avoid
the additional indirection at poll() time. Instead access
directly the first subflow sock.

No functional changes intended.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Paolo Abeni 2023-08-11 17:57:21 +02:00 committed by David S. Miller
parent 40f56d0c70
commit 5426a4ef64

View File

@ -3844,12 +3844,12 @@ static __poll_t mptcp_poll(struct file *file, struct socket *sock,
state = inet_sk_state_load(sk);
pr_debug("msk=%p state=%d flags=%lx", msk, state, msk->flags);
if (state == TCP_LISTEN) {
struct socket *ssock = READ_ONCE(msk->subflow);
struct sock *ssk = READ_ONCE(msk->first);
if (WARN_ON_ONCE(!ssock || !ssock->sk))
if (WARN_ON_ONCE(!ssk))
return 0;
return inet_csk_listen_poll(ssock->sk);
return inet_csk_listen_poll(ssk);
}
shutdown = READ_ONCE(sk->sk_shutdown);