mptcp: fix pending data accounting
authorPaolo Abeni <pabeni@redhat.com>
Wed, 16 Dec 2020 11:48:35 +0000 (12:48 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 17 Dec 2020 18:24:47 +0000 (10:24 -0800)
commit13e1603739e58e94e7a3c24191fa2dcd1a8a5df3
treea9b0f58d59f988a5b21653f7cc648fd99043251b
parent219d04992b689e0498ece02d2a451f2b6e2563a9
mptcp: fix pending data accounting

When sendmsg() needs to wait for memory, the pending data
is not updated. That causes a drift in forward memory allocation,
leading to stall and/or warnings at socket close time.

This change addresses the above issue moving the pending data
counter update inside the sendmsg() main loop.

Fixes: 6e628cd3a8f7 ("mptcp: use mptcp release_cb for delayed tasks")
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>
net/mptcp/protocol.c