From 843399fd451ac0dd22dd4ed8269cf289c16cf045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20L=C3=A9caille?= Date: Fri, 22 Jul 2022 16:27:44 +0200 Subject: [PATCH] BUG/MAJOR: quic: Useless resource intensive loop qc_ackrng_pkts() This usless loop should have been removed a long time ago. As it is CPU resource intensive, it could trigger the watchdog. Must be backported to 2.6. --- src/xprt_quic.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 2c6605873..4a77db16a 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -1602,15 +1602,7 @@ static inline struct eb64_node *qc_ackrng_pkts(struct quic_conn *qc, struct eb64_node *node; struct quic_tx_packet *pkt; - if (largest_node) - node = largest_node; - else { - node = eb64_lookup(pkts, largest); - while (!node && largest > smallest) { - node = eb64_lookup(pkts, --largest); - } - } - + node = largest_node ? largest_node : eb64_lookup_le(pkts, largest); while (node && node->key >= smallest) { struct quic_frame *frm, *frmbak;