OpenCloudOS-Kernel/net/mptcp
Paolo Abeni 52557dbc75 mptcp: do not wakeup listener for MPJ subflows
MPJ subflows are not exposed as fds to user spaces. As such,
incoming MPJ subflows are removed from the accept queue by
tcp_check_req()/tcp_get_cookie_sock().

Later tcp_child_process() invokes subflow_data_ready() on the
parent socket regardless of the subflow kind, leading to poll
wakeups even if the later accept will block.

Address the issue by double-checking the queue state before
waking the user-space.

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/164
Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Fixes: f296234c98 ("mptcp: Add handling of incoming MP_JOIN requests")
Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-22 18:54:59 -08:00
..
Kconfig mptcp: depends on IPV6 but not as a module 2020-10-21 08:05:40 -07:00
Makefile mptcp: enable JOIN requests even if cookies are in use 2020-07-31 16:55:32 -07:00
crypto.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
crypto_test.c mptcp: move crypto test to KUNIT 2020-06-26 16:21:39 -07:00
ctrl.c mptcp: add a new sysctl add_addr_timeout 2020-11-04 17:45:53 -08:00
diag.c mptcp: allow dumping subflow context to userspace 2020-03-29 22:14:48 -07:00
mib.c mptcp: add the mibs for ADD_ADDR with port 2021-02-02 18:37:20 -08:00
mib.h mptcp: add the mibs for ADD_ADDR with port 2021-02-02 18:37:20 -08:00
mptcp_diag.c mptcp: add local addr info in mptcp_info 2021-02-15 15:09:14 -08:00
options.c mptcp: fix DATA_FIN generation on early shutdown 2021-02-22 18:54:59 -08:00
pm.c mptcp: add netlink event support 2021-02-12 16:31:46 -08:00
pm_netlink.c mptcp: add local addr info in mptcp_info 2021-02-15 15:09:14 -08:00
protocol.c mptcp: provide subflow aware release function 2021-02-22 18:54:59 -08:00
protocol.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-02-16 17:51:13 -08:00
subflow.c mptcp: do not wakeup listener for MPJ subflows 2021-02-22 18:54:59 -08:00
syncookies.c mptcp: fix syncookie build error on UP 2020-08-01 11:52:55 -07:00
token.c mptcp: token: fix unititialized variable 2020-11-03 13:08:30 -08:00
token_test.c mptcp: introduce token KUNIT self-tests 2020-06-26 16:21:39 -07:00