]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
mptcp: fix race in release_cb
authorPaolo Abeni <pabeni@redhat.com>
Thu, 4 Mar 2021 21:32:14 +0000 (13:32 -0800)
committerSeth Forshee <seth.forshee@canonical.com>
Thu, 8 Apr 2021 20:42:47 +0000 (15:42 -0500)
commit3f8f491c90040fb12c29d4e7fd98927f3d9b266d
treecefb7120372dc3565352d3dbd6f517fa6676aee5
parent9625915175d9cc778b8f68c80119a5fd072b5d16
mptcp: fix race in release_cb

BugLink: https://bugs.launchpad.net/bugs/1923069
[ Upstream commit c2e6048fa1cf2228063aec299f93ac6eb256b457 ]

If we receive a MPTCP_PUSH_PENDING even from a subflow when
mptcp_release_cb() is serving the previous one, the latter
will be delayed up to the next release_sock(msk).

Address the issue implementing a test/serve loop for such
event.

Additionally rename the push helper to __mptcp_push_pending()
to be more consistent with the existing code.

Fixes: 6e628cd3a8f7 ("mptcp: use mptcp release_cb for delayed tasks")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
net/mptcp/protocol.c