svn commit: r366011 - head/lib/libnetmap

Vincenzo Maffione vmaffione at FreeBSD.org
Tue Sep 22 20:20:44 UTC 2020


Author: vmaffione
Date: Tue Sep 22 20:20:43 2020
New Revision: 366011
URL: https://svnweb.freebsd.org/changeset/base/366011

Log:
  libnetmap: fix cast from uint64_t to void*
  
  We use uintptr_t as an intermediate cast to avoid compiler
  warnings on 32 bit architectures.
  
  Reported by:	adrian
  MFC after:	3 days

Modified:
  head/lib/libnetmap/libnetmap.h
  head/lib/libnetmap/nmport.c

Modified: head/lib/libnetmap/libnetmap.h
==============================================================================
--- head/lib/libnetmap/libnetmap.h	Tue Sep 22 20:04:57 2020	(r366010)
+++ head/lib/libnetmap/libnetmap.h	Tue Sep 22 20:20:43 2020	(r366011)
@@ -554,9 +554,9 @@ struct nmreq_option *nmreq_find_option(struct nmreq_he
 void nmreq_free_options(struct nmreq_header *);
 const char* nmreq_option_name(uint32_t);
 #define nmreq_foreach_option(h_, o_) \
-	for ((o_) = (struct nmreq_option *)((h_)->nr_options);\
+	for ((o_) = (struct nmreq_option *)((uintptr_t)((h_)->nr_options));\
 	     (o_) != NULL;\
-	     (o_) = (struct nmreq_option *)((o_)->nro_next))
+	     (o_) = (struct nmreq_option *)((uintptr_t)((o_)->nro_next)))
 
 /* nmctx manipulation */
 

Modified: head/lib/libnetmap/nmport.c
==============================================================================
--- head/lib/libnetmap/nmport.c	Tue Sep 22 20:04:57 2020	(r366010)
+++ head/lib/libnetmap/nmport.c	Tue Sep 22 20:20:43 2020	(r366011)
@@ -614,7 +614,7 @@ nmport_mmap(struct nmport_d *d)
 		}
 		memset(m, 0, sizeof(*m));
 		if (d->extmem != NULL) {
-			m->mem = (void *)d->extmem->nro_usrptr;
+			m->mem = (void *)((uintptr_t)d->extmem->nro_usrptr);
 			m->size = d->extmem->nro_info.nr_memsize;
 			m->is_extmem = 1;
 		} else {


More information about the svn-src-all mailing list