mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00: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:
parent
cde7f2fd63
commit
fbe9fa195e
1 changed files with 7 additions and 6 deletions
|
@ -3746,12 +3746,13 @@ static int mptcp_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
|
|||
static int mptcp_listen(struct socket *sock, int backlog)
|
||||
{
|
||||
struct mptcp_sock *msk = mptcp_sk(sock->sk);
|
||||
struct sock *sk = sock->sk;
|
||||
struct socket *ssock;
|
||||
int err;
|
||||
|
||||
pr_debug("msk=%p", msk);
|
||||
|
||||
lock_sock(sock->sk);
|
||||
lock_sock(sk);
|
||||
ssock = __mptcp_nmpc_socket(msk);
|
||||
if (!ssock) {
|
||||
err = -EINVAL;
|
||||
|
@ -3759,16 +3760,16 @@ static int mptcp_listen(struct socket *sock, int backlog)
|
|||
}
|
||||
|
||||
mptcp_token_destroy(msk);
|
||||
inet_sk_state_store(sock->sk, TCP_LISTEN);
|
||||
sock_set_flag(sock->sk, SOCK_RCU_FREE);
|
||||
inet_sk_state_store(sk, TCP_LISTEN);
|
||||
sock_set_flag(sk, SOCK_RCU_FREE);
|
||||
|
||||
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)
|
||||
mptcp_copy_inaddrs(sock->sk, ssock->sk);
|
||||
mptcp_copy_inaddrs(sk, ssock->sk);
|
||||
|
||||
unlock:
|
||||
release_sock(sock->sk);
|
||||
release_sock(sk);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue