]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MEDIUM: quic: break out of the loop in quic_lstnr_dghdlr
authorWilly Tarreau <w@1wt.eu>
Fri, 5 Aug 2022 06:45:56 +0000 (08:45 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 5 Aug 2022 14:12:00 +0000 (16:12 +0200)
commitf9d4a7dad385d66edfab99c307bb1d493c3eff04
treededd9be4e99b72588ebcce7a9c7e3eb54798a9fb
parent6715cbf97f5142f18748d1575632082d3b0fbe91
BUG/MEDIUM: quic: break out of the loop in quic_lstnr_dghdlr

The function processes packets sent by other threads in the current
thread's queue. But if, for any reason, other threads write faster
than the current one processes, this can lead to a situation where
the function never returns.

It seems that it might be what's happening in issue #1808, though
unfortunately, this function is one of the rare without traces. But
the amount of calls to functions like qc_lstnr_pkt_rcv() on a single
thread seems to indicate this possibility.

Thanks to Tristan for his efforts in collecting extremely precious
traces!

This likely needs to be backported to 2.6.
src/quic_sock.c
src/xprt_quic.c