]> git.ipfire.org Git - thirdparty/kernel/linux.git/blobdiff - net/mptcp/protocol.c
Merge tag 'net-accept-more-20240515' of git://git.kernel.dk/linux
[thirdparty/kernel/linux.git] / net / mptcp / protocol.c
index a42494d3a71b6d5a104a054384b45c2db5471788..7d44196ec5b630500d28815fde9f92c0890c8314 100644 (file)
@@ -3882,11 +3882,10 @@ unlock:
 }
 
 static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
-                              int flags, bool kern)
+                              struct proto_accept_arg *arg)
 {
        struct mptcp_sock *msk = mptcp_sk(sock->sk);
        struct sock *ssk, *newsk;
-       int err;
 
        pr_debug("msk=%p", msk);
 
@@ -3898,9 +3897,9 @@ static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
                return -EINVAL;
 
        pr_debug("ssk=%p, listener=%p", ssk, mptcp_subflow_ctx(ssk));
-       newsk = inet_csk_accept(ssk, flags, &err, kern);
+       newsk = inet_csk_accept(ssk, arg);
        if (!newsk)
-               return err;
+               return arg->err;
 
        pr_debug("newsk=%p, subflow is mptcp=%d", newsk, sk_is_mptcp(newsk));
        if (sk_is_mptcp(newsk)) {
@@ -3921,7 +3920,7 @@ static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
                newsk = new_mptcp_sock;
                MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_MPCAPABLEPASSIVEACK);
 
-               newsk->sk_kern_sock = kern;
+               newsk->sk_kern_sock = arg->kern;
                lock_sock(newsk);
                __inet_accept(sock, newsock, newsk);
 
@@ -3950,7 +3949,7 @@ static int mptcp_stream_accept(struct socket *sock, struct socket *newsock,
                }
        } else {
 tcpfallback:
-               newsk->sk_kern_sock = kern;
+               newsk->sk_kern_sock = arg->kern;
                lock_sock(newsk);
                __inet_accept(sock, newsock, newsk);
                /* we are being invoked after accepting a non-mp-capable