From: Amaury Denoyelle Date: Fri, 4 Aug 2023 13:37:29 +0000 (+0200) Subject: BUG/MINOR: quic: reappend rxbuf buffer on fake dgram alloc error X-Git-Tag: v2.9-dev3~69 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f59635c49513f0411e0e9a6f54c0034a91ab3adc;p=thirdparty%2Fhaproxy.git BUG/MINOR: quic: reappend rxbuf buffer on fake dgram alloc error A thread must always reappend the rxbuf instance after finishing datagram reception treatment. This was not the case on one error code path : when fake datagram allocation fails on datagram requeing. This issue was introduced with the following patch : commit b34d353968db7f646e83871cb6b21a246af84ddc BUG/MEDIUM: quic: consume contig space on requeue datagram As such, it must be backported in every version with the above commit. --- diff --git a/src/quic_sock.c b/src/quic_sock.c index f45cd91cad..88bcb1a31f 100644 --- a/src/quic_sock.c +++ b/src/quic_sock.c @@ -749,6 +749,7 @@ int qc_rcv_buf(struct quic_conn *qc) struct quic_dgram *fake_dgram = pool_alloc(pool_head_quic_dgram); if (!fake_dgram) { /* TODO count lost datagrams */ + MT_LIST_APPEND(&l->rx.rxbuf_list, &rxbuf->rxbuf_el); continue; }