svn commit: r364756 - stable/11/sys/dev/netmap
Vincenzo Maffione
vmaffione at FreeBSD.org
Tue Aug 25 11:12:31 UTC 2020
Author: vmaffione
Date: Tue Aug 25 11:12:30 2020
New Revision: 364756
URL: https://svnweb.freebsd.org/changeset/base/364756
Log:
MFC r364341
netmap: fix parsing of legacy nmr->nr_ringid
Code was checking for NETMAP_{SW,HW}_RING in req->nr_ringid which
had already been masked by NETMAP_RING_MASK. Therefore, the comparisons
always failed and set NR_REG_ALL_NIC. Check against the original nmr
structure.
Submitted by: bpoole at packetforensics.com
Reported by: bpoole at packetforensics.com
Reviewed by: giuseppe.lettieri at unipi.it
Approved by: vmaffione
Modified:
stable/11/sys/dev/netmap/netmap_legacy.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/dev/netmap/netmap_legacy.c
==============================================================================
--- stable/11/sys/dev/netmap/netmap_legacy.c Tue Aug 25 11:10:37 2020 (r364755)
+++ stable/11/sys/dev/netmap/netmap_legacy.c Tue Aug 25 11:12:30 2020 (r364756)
@@ -71,9 +71,9 @@ nmreq_register_from_legacy(struct nmreq *nmr, struct n
/* Convert the older nmr->nr_ringid (original
* netmap control API) to nmr->nr_flags. */
u_int regmode = NR_REG_DEFAULT;
- if (req->nr_ringid & NETMAP_SW_RING) {
+ if (nmr->nr_ringid & NETMAP_SW_RING) {
regmode = NR_REG_SW;
- } else if (req->nr_ringid & NETMAP_HW_RING) {
+ } else if (nmr->nr_ringid & NETMAP_HW_RING) {
regmode = NR_REG_ONE_NIC;
} else {
regmode = NR_REG_ALL_NIC;
More information about the svn-src-stable-11
mailing list