diff --git a/packet.c b/packet.c
index e5a78d0..03a11e6 100644
--- a/packet.c
+++ b/packet.c
@@ -54,7 +54,7 @@ static int packet_check_range(const struct pool *p, size_t offset, size_t len,
 	}
 
 	if (start + len + offset > p->buf + p->buf_size) {
-		trace("packet offset plus length %lu from size %lu, "
+		trace("packet offset plus length %zu from size %zu, "
 		      "%s:%i", start - p->buf + len + offset,
 		      p->buf_size, func, line);
 		return -1;
diff --git a/vhost_user.c b/vhost_user.c
index 51c90db..4b8558f 100644
--- a/vhost_user.c
+++ b/vhost_user.c
@@ -136,8 +136,9 @@ static void *qva_to_va(struct vu_dev *dev, uint64_t qemu_addr)
 
 		if ((qemu_addr >= r->qva) && (qemu_addr < (r->qva + r->size))) {
 			/* NOLINTNEXTLINE(performance-no-int-to-ptr) */
-			return (void *)(qemu_addr - r->qva + r->mmap_addr +
-					r->mmap_offset);
+			return (void *)(uintptr_t)(qemu_addr - r->qva +
+						   r->mmap_addr +
+						   r->mmap_offset);
 		}
 	}
 
@@ -436,7 +437,8 @@ static bool vu_set_mem_table_exec(struct vu_dev *vdev,
 
 		if (r->mmap_addr) {
 			/* NOLINTNEXTLINE(performance-no-int-to-ptr) */
-			munmap((void *)r->mmap_addr, r->size + r->mmap_offset);
+			munmap((void *)(uintptr_t)r->mmap_addr,
+			       r->size + r->mmap_offset);
 		}
 	}
 	vdev->nregions = memory->nregions;
@@ -897,7 +899,8 @@ void vu_cleanup(struct vu_dev *vdev)
 
 		if (r->mmap_addr) {
 			/* NOLINTNEXTLINE(performance-no-int-to-ptr) */
-			munmap((void *)r->mmap_addr, r->size + r->mmap_offset);
+			munmap((void *)(uintptr_t)r->mmap_addr,
+			       r->size + r->mmap_offset);
 		}
 	}
 	vdev->nregions = 0;
diff --git a/virtio.c b/virtio.c
index 0598ff4..a76de5e 100644
--- a/virtio.c
+++ b/virtio.c
@@ -108,8 +108,9 @@ static void *vu_gpa_to_va(struct vu_dev *dev, uint64_t *plen, uint64_t guest_add
 			if ((guest_addr + *plen) > (r->gpa + r->size))
 				*plen = r->gpa + r->size - guest_addr;
 			/* NOLINTNEXTLINE(performance-no-int-to-ptr) */
-			return (void *)(guest_addr - r->gpa + r->mmap_addr +
-						     r->mmap_offset);
+			return (void *)(uintptr_t)(guest_addr - r->gpa +
+						   r->mmap_addr +
+						   r->mmap_offset);
 		}
 	}
 
diff --git a/vu_common.c b/vu_common.c
index f2eb701..299b5a3 100644
--- a/vu_common.c
+++ b/vu_common.c
@@ -35,7 +35,7 @@ int vu_packet_check_range(void *buf, size_t offset, size_t len,
 
 	for (dev_region = buf; dev_region->mmap_addr; dev_region++) {
 		/* NOLINTNEXTLINE(performance-no-int-to-ptr) */
-		char *m = (char *)dev_region->mmap_addr;
+		char *m = (char *)(uintptr_t)dev_region->mmap_addr;
 
 		if (m <= start &&
 		    start + offset + len <= m + dev_region->mmap_offset +