diff options
author | Paolo Abeni <pabeni@redhat.com> | 2022-04-08 12:45:55 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-04-11 11:55:53 +0100 |
commit | 43f5b111d1ff16161ce60e19aeddb999cb6f0b01 (patch) | |
tree | 01d06078d894393c44c35ae025494bdbd1baaf27 /net/mptcp/protocol.c | |
parent | 65a569b03ca832ebc93ce45a7466137e2bb62254 (diff) | |
download | linux-43f5b111d1ff16161ce60e19aeddb999cb6f0b01.tar.gz linux-43f5b111d1ff16161ce60e19aeddb999cb6f0b01.tar.bz2 linux-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 <dcaratti@redhat.com>
Fixes: 40453a5c61f4 ("mptcp: add the incoming MP_PRIO support")
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>
Diffstat (limited to 'net/mptcp/protocol.c')
-rw-r--r-- | net/mptcp/protocol.c | 2 |
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); |