summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Eckelmann <sven@narfation.org>2026-06-26 18:10:46 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-07-04 13:39:38 +0200
commit62434ab93498fdb0e9b7f4713f55f9fb6b9a0102 (patch)
tree0a5f263220adbe2627b05346e98eb763664504be
parentf67314a2d4af1ce9e793c423bdec582b8fd605b4 (diff)
downloadlinux-stable-62434ab93498fdb0e9b7f4713f55f9fb6b9a0102.tar.gz
linux-stable-62434ab93498fdb0e9b7f4713f55f9fb6b9a0102.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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/batman-adv/tp_meter.c b/net/batman-adv/tp_meter.c
index 1fc8d6e6f99b..7385cd02abf9 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 */