MINOR: quic: Replace the RX list of packet by a thread safety one.

This list is shared between the I/O dgram handler and the task responsible
for processing the QUIC packets.
diff --git a/include/haproxy/receiver-t.h b/include/haproxy/receiver-t.h
index 1125be7..80e039b 100644
--- a/include/haproxy/receiver-t.h
+++ b/include/haproxy/receiver-t.h
@@ -62,7 +62,7 @@
 	struct rx_settings *settings;    /* points to the settings used by this receiver */
 	struct list proto_list;          /* list in the protocol header */
 #ifdef USE_QUIC
-	struct list qpkts;               /* QUIC Initial packets to accept new connections */
+	struct mt_list pkts;             /* QUIC Initial packets to accept new connections */
 	struct eb_root odcids;           /* QUIC original destination connection IDs. */
 	struct eb_root cids;             /* QUIC connection IDs. */
 #endif
diff --git a/include/haproxy/xprt_quic-t.h b/include/haproxy/xprt_quic-t.h
index f7c50c53..9bf5b40 100644
--- a/include/haproxy/xprt_quic-t.h
+++ b/include/haproxy/xprt_quic-t.h
@@ -395,7 +395,7 @@
 
 struct quic_rx_packet {
 	struct list list;
-	struct list rx_list;
+	struct mt_list rx_list;
 	struct quic_conn *qc;
 	unsigned char type;
 	uint32_t version;
diff --git a/src/proto_quic.c b/src/proto_quic.c
index 1cac5ab..3b66ff9 100644
--- a/src/proto_quic.c
+++ b/src/proto_quic.c
@@ -514,7 +514,7 @@
  */
 static void quic_add_listener(struct protocol *proto, struct listener *listener)
 {
-	LIST_INIT(&listener->rx.qpkts);
+	MT_LIST_INIT(&listener->rx.pkts);
 	listener->rx.odcids = EB_ROOT_UNIQUE;
 	listener->rx.cids = EB_ROOT_UNIQUE;
 	default_add_listener(proto, listener);
diff --git a/src/quic_sock.c b/src/quic_sock.c
index 042c35d..a2c4bec 100644
--- a/src/quic_sock.c
+++ b/src/quic_sock.c
@@ -145,13 +145,12 @@
 	int ret;
 
 	qc = NULL;
-	pkt = LIST_ELEM(l->rx.qpkts.n, struct quic_rx_packet *, rx_list);
+	pkt = MT_LIST_POP(&l->rx.pkts, struct quic_rx_packet *, rx_list);
 	/* Should never happen. */
-	if (&pkt->rx_list == &l->rx.qpkts)
+	if (!pkt)
 		goto err;
 
 	qc = pkt->qc;
-	LIST_DELETE(&pkt->rx_list);
 	if (!new_quic_cli_conn(qc, l, &pkt->saddr))
 		goto err;
 
diff --git a/src/xprt_quic.c b/src/xprt_quic.c
index 6a0f9bf..cb052b4 100644
--- a/src/xprt_quic.c
+++ b/src/xprt_quic.c
@@ -3399,7 +3399,7 @@
 	}
 	else if (!found_conn) {
 		/* Enqueue this packet. */
-		LIST_APPEND(&l->rx.qpkts, &pkt->rx_list);
+		MT_LIST_APPEND(&l->rx.pkts, &pkt->rx_list);
 		/* Try to accept a new connection. */
 		listener_accept(l);
 	}