aboutsummaryrefslogtreecommitdiffstats
path: root/net/mptcp/protocol.c
diff options
context:
space:
mode:
authorPaolo Abeni <[email protected]>2022-04-08 19:45:55 +0000
committerDavid S. Miller <[email protected]>2022-04-11 10:55:53 +0000
commit43f5b111d1ff16161ce60e19aeddb999cb6f0b01 (patch)
tree01d06078d894393c44c35ae025494bdbd1baaf27 /net/mptcp/protocol.c
parentmptcp: optimize release_cb for the common case (diff)
downloadkernel-43f5b111d1ff16161ce60e19aeddb999cb6f0b01.tar.gz
kernel-43f5b111d1ff16161ce60e19aeddb999cb6f0b01.zip
mptcp: reset the packet scheduler on incoming MP_PRIO
When an incoming MP_PRIO option changes the backup status of any subflow, we need to reset the packet scheduler status, or the next send could keep using the previously selected subflow, without taking in account the new priorities. Reported-by: Davide Caratti <[email protected]> Fixes: 40453a5c61f4 ("mptcp: add the incoming MP_PRIO support") Signed-off-by: Paolo Abeni <[email protected]> Signed-off-by: Mat Martineau <[email protected]> Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/mptcp/protocol.c')
-rw-r--r--net/mptcp/protocol.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index 2a9335ce5df1..8f54293c1d88 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -3102,6 +3102,8 @@ static void mptcp_release_cb(struct sock *sk)
__mptcp_set_connected(sk);
if (__test_and_clear_bit(MPTCP_ERROR_REPORT, &msk->cb_flags))
__mptcp_error_report(sk);
+ if (__test_and_clear_bit(MPTCP_RESET_SCHEDULER, &msk->cb_flags))
+ msk->last_snd = NULL;
}
__mptcp_update_rmem(sk);