diff options
| author | Sven Eckelmann <sven@narfation.org> | 2026-06-26 18:11:05 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-07-04 13:41:30 +0200 |
| commit | cb01fe90e8f4df5ff84fc72c4de49cd8abd5975e (patch) | |
| tree | 314d35f4473884e1ad314d3810255a7b81e0eed4 | |
| parent | 6342b1b5394372b3b388f8d39dcfbb2d7b0689b0 (diff) | |
| download | linux-stable-cb01fe90e8f4df5ff84fc72c4de49cd8abd5975e.tar.gz linux-stable-cb01fe90e8f4df5ff84fc72c4de49cd8abd5975e.zip | |
batman-adv: tp_meter: handle seqno wrap-around for fast recovery detection
commit f54c85ed42a1b27a516cf2a4728f5a612b799e07 upstream.
The recover variable and the last_sent sequence number are initialized on
purpose as a really high value which will wrap-around after the first 2000
bytes. The fast recovery precondition must therefore not use simple integer
comparisons but use helpers which are aware of the sequence number
wrap-arounds.
Cc: stable@kernel.org
Fixes: 33a3bb4a3345 ("batman-adv: throughput meter implementation")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
| -rw-r--r-- | net/batman-adv/tp_meter.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/batman-adv/tp_meter.c b/net/batman-adv/tp_meter.c index c79352cfddc4..089ac7cc9fbe 100644 --- a/net/batman-adv/tp_meter.c +++ b/net/batman-adv/tp_meter.c @@ -733,7 +733,7 @@ static void batadv_tp_recv_ack(struct batadv_priv *bat_priv, if (atomic_read(&tp_vars->dup_acks) != 3) goto out; - if (tp_vars->recover >= recv_ack) + if (!batadv_seq_before(tp_vars->recover, recv_ack)) goto out; /* if this is the third duplicate ACK do Fast Retransmit */ |
