]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MAJOR: xprt-quic: do not queue qc timer if not set
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 5 Oct 2021 12:42:25 +0000 (14:42 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 7 Oct 2021 15:35:25 +0000 (17:35 +0200)
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

index 8501e3fafe00110541e661112176fd3b87429ae0..cee93229ef26aa3f63ae5fa3617bf5c2bb26fb67 100644 (file)
@@ -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);
 }