]> git.baikalelectronics.ru Git - kernel.git/commit
mptcp: be careful on MPTCP-level ack.
authorPaolo Abeni <pabeni@redhat.com>
Tue, 24 Nov 2020 21:51:24 +0000 (22:51 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 25 Nov 2020 21:36:16 +0000 (13:36 -0800)
commit53c79b423756135ae6e9376e27b692a58296b21f
tree8f2c56dcaedd3bbb5f430ec6ed290032f19f6e78
parentbcf6ef05b4965f508303a1f9905faf540430a16f
mptcp: be careful on MPTCP-level ack.

We can enter the main mptcp_recvmsg() loop even when
no subflows are connected. As note by Eric, that would
result in a divide by zero oops on ack generation.

Address the issue by checking the subflow status before
sending the ack.

Additionally protect mptcp_recvmsg() against invocation
with weird socket states.

v1 -> v2:
 - removed unneeded inline keyword - Jakub

Reported-and-suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
Fixes: 4b82918d43b2 ("mptcp: refine MPTCP-level ack scheduling")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Link: https://lore.kernel.org/r/5370c0ae03449239e3d1674ddcfb090cf6f20abe.1606253206.git.pabeni@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/protocol.c