diff options
author | Jakub Kicinski <kuba@kernel.org> | 2021-12-17 01:13:19 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-12-17 01:13:19 +0100 |
commit | 7cd2802d7496c1fc76f42dc045b48cc16d11df39 (patch) | |
tree | 41c33f5944bbc686a489801762eb126e07049b81 /net/mptcp | |
parent | Merge branch 'fib-merge-nl-policies' (diff) | |
parent | Merge tag 'audit-pr-20211216' of git://git.kernel.org/pub/scm/linux/kernel/gi... (diff) | |
download | linux-7cd2802d7496c1fc76f42dc045b48cc16d11df39.tar.xz linux-7cd2802d7496c1fc76f42dc045b48cc16d11df39.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
No conflicts.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/mptcp')
-rw-r--r-- | net/mptcp/pm_netlink.c | 3 | ||||
-rw-r--r-- | net/mptcp/protocol.c | 6 | ||||
-rw-r--r-- | net/mptcp/sockopt.c | 1 |
3 files changed, 7 insertions, 3 deletions
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 4ff8d55cbe82..3186d33b5208 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -700,6 +700,9 @@ static void mptcp_pm_nl_rm_addr_or_subflow(struct mptcp_sock *msk, msk_owned_by_me(msk); + if (sk->sk_state == TCP_LISTEN) + return; + if (!rm_list->nr) return; diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index f124cca125d2..3e549f6190c0 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -1527,7 +1527,7 @@ void __mptcp_push_pending(struct sock *sk, unsigned int flags) int ret = 0; prev_ssk = ssk; - mptcp_flush_join_list(msk); + __mptcp_flush_join_list(msk); ssk = mptcp_subflow_get_send(msk); /* First check. If the ssk has changed since @@ -2914,7 +2914,7 @@ static struct sock *mptcp_accept(struct sock *sk, int flags, int *err, */ if (WARN_ON_ONCE(!new_mptcp_sock)) { tcp_sk(newsk)->is_mptcp = 0; - return newsk; + goto out; } /* acquire the 2nd reference for the owning socket */ @@ -2926,6 +2926,8 @@ static struct sock *mptcp_accept(struct sock *sk, int flags, int *err, MPTCP_MIB_MPCAPABLEPASSIVEFALLBACK); } +out: + newsk->sk_kern_sock = kern; return newsk; } diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c index 3c3db22fd36a..aa3fcd86dbe2 100644 --- a/net/mptcp/sockopt.c +++ b/net/mptcp/sockopt.c @@ -543,7 +543,6 @@ static bool mptcp_supported_sockopt(int level, int optname) case TCP_NODELAY: case TCP_THIN_LINEAR_TIMEOUTS: case TCP_CONGESTION: - case TCP_ULP: case TCP_CORK: case TCP_KEEPIDLE: case TCP_KEEPINTVL: |