BUG/MINOR: quic: Possible RX packet memory leak under heavy load
authorFrédéric Lécaille <flecaille@haproxy.com>
Wed, 22 Nov 2023 15:29:08 +0000 (16:29 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 22 Nov 2023 17:03:26 +0000 (18:03 +0100)
commit7fc52357cb10e98c0c13358aa6f7babc3d81da95
treedb185f21a0cfad605dccae67329c1f327fc108d2
parentcd225da46ca47d3fc62ecc9012fc54dc6aa49b34
BUG/MINOR: quic: Possible RX packet memory leak under heavy load

This bug could be reproduced with -dMfail and h2load generating plenty of connections.
A "show pools" CLI command showed that some memory in relation with RX packet pool
was never release. Furthermore, adding a RX packet counter to each connection
and a BUG_ON() in quic_conn_release() has proved that this unreleased memory
was in relation with RX packet which were not linked to a connection.

The responsible is quic_dgram_parse() which does not release some RX packet
memory before exiting after the connection thread affinity has changed.

Must be backported as far as 2.7.
src/quic_rx.c