BUG/MINOR: quic: Missing call to task_queue() in qc_idle_timer_do_rearm()

The aim of this function is to rearm the idle timer. The ->expire
field of the timer task was updated without being requeued.
Some connection could be unexpectedly terminated.

Must be backported to 2.6 and 2.7.
This commit is contained in:
Frédéric Lécaille 2023-02-10 16:35:43 +01:00 committed by Amaury Denoyelle
parent e1738df468
commit 1e8ef1bed6

View File

@ -5221,6 +5221,7 @@ static void qc_idle_timer_do_rearm(struct quic_conn *qc)
expire = QUIC_MAX(3 * quic_pto(qc), qc->max_idle_timeout); expire = QUIC_MAX(3 * quic_pto(qc), qc->max_idle_timeout);
qc->idle_timer_task->expire = tick_add(now_ms, MS_TO_TICKS(expire)); qc->idle_timer_task->expire = tick_add(now_ms, MS_TO_TICKS(expire));
task_queue(qc->idle_timer_task);
} }
/* Rearm the idle timer for <qc> QUIC connection depending on <read> boolean /* Rearm the idle timer for <qc> QUIC connection depending on <read> boolean