From 336f6fd964e9304a2b810e21d72650e2c12aecd2 Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Tue, 5 Oct 2021 14:42:25 +0200 Subject: [PATCH] BUG/MAJOR: xprt-quic: do not queue qc timer if not set Do not queue the pto/loss-detection timer if set to TICK_ETERNITY. This usage is invalid with the scheduler and cause a BUG_ON trigger. --- src/xprt_quic.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 8501e3faf..cee93229e 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -647,7 +647,8 @@ static inline void qc_set_timer(struct ssl_sock_ctx *ctx) if (tick_isset(pto)) qc->timer = pto; out: - task_schedule(qc->timer_task, qc->timer); + if (qc->timer != TICK_ETERNITY) + task_schedule(qc->timer_task, qc->timer); TRACE_LEAVE(QUIC_EV_CONN_STIMER, ctx->conn, pktns); }