Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mptcp: minor move_skbs_to_msk() cleanup

Such function is called only by __mptcp_data_ready(), which in turn
is always invoked when msk is not owned by the user: we can drop the
redundant, related check.

Additionally mptcp needs to propagate the socket error only for
current subflow.

Reviewed-by: Geliang Tang <geliang@kernel.org>
Tested-by: Geliang Tang <geliang@kernel.org>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250927-net-next-mptcp-rcv-path-imp-v1-7-5da266aa9c1a@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Paolo Abeni and committed by
Jakub Kicinski
59701b18 68c7af98

+2 -6
+2 -6
net/mptcp/protocol.c
··· 814 814 815 815 moved = __mptcp_move_skbs_from_subflow(msk, ssk); 816 816 __mptcp_ofo_queue(msk); 817 - if (unlikely(ssk->sk_err)) { 818 - if (!sock_owned_by_user(sk)) 819 - __mptcp_error_report(sk); 820 - else 821 - __set_bit(MPTCP_ERROR_REPORT, &msk->cb_flags); 822 - } 817 + if (unlikely(ssk->sk_err)) 818 + __mptcp_subflow_error_report(sk, ssk); 823 819 824 820 /* If the moves have caught up with the DATA_FIN sequence number 825 821 * it's time to ack the DATA_FIN and change socket state, but