mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
mptcp: introduce 'sk' to replace 'sock->sk' in mptcp_listen()
[ Upstream commitcfdcfeed64] 'sock->sk' is used frequently in mptcp_listen(). Therefore, we can introduce the 'sk' and replace 'sock->sk' with it. Acked-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Menglong Dong <imagedong@tencent.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net> Stable-dep-of:0226436acf("mptcp: do not rely on implicit state check in mptcp_listen()") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
cde7f2fd63
commit
fbe9fa195e
@@ -3746,12 +3746,13 @@ unlock:
|
|||||||
static int mptcp_listen(struct socket *sock, int backlog)
|
static int mptcp_listen(struct socket *sock, int backlog)
|
||||||
{
|
{
|
||||||
struct mptcp_sock *msk = mptcp_sk(sock->sk);
|
struct mptcp_sock *msk = mptcp_sk(sock->sk);
|
||||||
|
struct sock *sk = sock->sk;
|
||||||
struct socket *ssock;
|
struct socket *ssock;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
pr_debug("msk=%p", msk);
|
pr_debug("msk=%p", msk);
|
||||||
|
|
||||||
lock_sock(sock->sk);
|
lock_sock(sk);
|
||||||
ssock = __mptcp_nmpc_socket(msk);
|
ssock = __mptcp_nmpc_socket(msk);
|
||||||
if (!ssock) {
|
if (!ssock) {
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
@@ -3759,16 +3760,16 @@ static int mptcp_listen(struct socket *sock, int backlog)
|
|||||||
}
|
}
|
||||||
|
|
||||||
mptcp_token_destroy(msk);
|
mptcp_token_destroy(msk);
|
||||||
inet_sk_state_store(sock->sk, TCP_LISTEN);
|
inet_sk_state_store(sk, TCP_LISTEN);
|
||||||
sock_set_flag(sock->sk, SOCK_RCU_FREE);
|
sock_set_flag(sk, SOCK_RCU_FREE);
|
||||||
|
|
||||||
err = ssock->ops->listen(ssock, backlog);
|
err = ssock->ops->listen(ssock, backlog);
|
||||||
inet_sk_state_store(sock->sk, inet_sk_state_load(ssock->sk));
|
inet_sk_state_store(sk, inet_sk_state_load(ssock->sk));
|
||||||
if (!err)
|
if (!err)
|
||||||
mptcp_copy_inaddrs(sock->sk, ssock->sk);
|
mptcp_copy_inaddrs(sk, ssock->sk);
|
||||||
|
|
||||||
unlock:
|
unlock:
|
||||||
release_sock(sock->sk);
|
release_sock(sk);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user