BUG/MINOR: mux-quic: do not decode if conn in error
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 23 Apr 2025 15:06:22 +0000 (17:06 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 2 Jun 2025 15:31:38 +0000 (17:31 +0200)
commit02fcc52e5ae08a2ad68b8df91a9202556869de19
tree17f952d011f39252d097bd7144c16449509361e9
parentc72839b0020128393c4d3c67fa4eb5355d2f4c9f
BUG/MINOR: mux-quic: do not decode if conn in error

Add an early return to qcc_decode_qcs() if QCC instance is flagged on
error and connection is scheduled for immediate closure.

The main objective is to ensure to not trigger BUG_ON() from
qcc_set_error() : if a stream decoding has set the connection error, do
not try to process decoding on other streams as they may also encounter
an error. Thus, the connection is closed asap with the first encountered
error case.

This should be backported up to 2.6, after a period of observation.

(cherry picked from commit 6c5030f703e29bfd8deeace111bcedc6835c7065)
[ad: context adjustement, due to multiple Rx bufs not available in 3.1]
Signed-off-by: Amaury Denoyelle <adenoyelle@haproxy.com>
(cherry picked from commit 52235aed6248ff32832a24530ca8593610c76903)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
src/mux_quic.c