From 539437c8281d24450bacded3734276acd9983e90 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Mon, 23 Jan 2023 14:41:55 -0500 Subject: [PATCH] netmap: Fix a queue length check in the generic port rx path The check is ok by default, since the default value of netmap_generic_ringsize is 1024. But we should check against the configured "ring" size. Reviewed by: vmaffione MFC after: 1 week Sponsored by: Zenarmor Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38062 --- sys/dev/netmap/netmap_generic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/netmap/netmap_generic.c b/sys/dev/netmap/netmap_generic.c index a57da84e1d2..f075cd4bd30 100644 --- a/sys/dev/netmap/netmap_generic.c +++ b/sys/dev/netmap/netmap_generic.c @@ -838,7 +838,7 @@ generic_rx_handler(struct ifnet *ifp, struct mbuf *m) nm_prlim(2, "Warning: driver pushed up big packet " "(size=%d)", (int)MBUF_LEN(m)); m_freem(m); - } else if (unlikely(mbq_len(&kring->rx_queue) > 1024)) { + } else if (unlikely(mbq_len(&kring->rx_queue) > na->num_rx_desc)) { m_freem(m); } else { mbq_safe_enqueue(&kring->rx_queue, m); -- 2.45.2