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)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 20 May 2025 14:22:08 +0000 (16:22 +0200)
commit52235aed6248ff32832a24530ca8593610c76903
tree9a79e8ce4c2f05f7ea7b41b43b094ff25a954eb1
parent64d4c5ab846f853f94d1dcd1d1f4c8ee74508832
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>
src/mux_quic.c