BUG/MINOR: quic: Missing parentheses around PTO probe variable.

It is hard to analyze the impact of this bug. I guess it could lead a connection
to probe infinitively (with an exponential backoff probe timeout) during an handshake,
but one has never seen such a case.

Add missing parentheses around ->flags of the TX packet built by qc_do_build_pkt()
to detect that this packet embeds ack-eliciting frames. In this case if a probing
packet was needed the ->pto_probe value of the packet number space must be
decremented.

Must be backported as far as 2.6.
This commit is contained in:
Frédéric Lécaille 2023-07-20 15:45:41 +02:00
parent 72619bda4c
commit f92d816e3d

View File

@ -8044,7 +8044,7 @@ static int qc_do_build_pkt(unsigned char *pos, const unsigned char *end,
/* If this packet is ack-eliciting and we are probing let's
* decrement the PTO probe counter.
*/
if (pkt->flags & QUIC_FL_TX_PACKET_ACK_ELICITING &&
if ((pkt->flags & QUIC_FL_TX_PACKET_ACK_ELICITING) &&
qel->pktns->tx.pto_probe)
qel->pktns->tx.pto_probe--;