1
0
mirror of https://passt.top/passt synced 2024-12-22 05:35:23 +00:00

Fix build on 32bit target

Fix the following errors when built with CFLAGS="-m32 -U__AVX2__":

packet.c:57:23: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=]
   57 |                 trace("packet offset plus length %lu from size %lu, "
   58 |                       "%s:%i", start - p->buf + len + offset,
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                     |
      |                                                     size_t {aka unsigned int}

packet.c:57:23: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=]
   57 |                 trace("packet offset plus length %lu from size %lu, "
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   58 |                       "%s:%i", start - p->buf + len + offset,
   59 |                       p->buf_size, func, line);
      |                       ~~~~~~~~~~~
      |                        |
      |                        size_t {aka unsigned int}

vhost_user.c:139:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  139 |                         return (void *)(qemu_addr - r->qva + r->mmap_addr +
      |                                ^

vhost_user.c:439:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  439 |                         munmap((void *)r->mmap_addr, r->size + r->mmap_offset);
      |                                ^

vhost_user.c:900:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  900 |                         munmap((void *)r->mmap_addr, r->size + r->mmap_offset);
      |                                ^

virtio.c:111:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  111 |                         return (void *)(guest_addr - r->gpa + r->mmap_addr +
      |                                ^

vu_common.c:37:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   37 |                 char *m = (char *)dev_region->mmap_addr;
      |                           ^

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
Laurent Vivier 2024-11-27 12:15:51 +01:00 committed by Stefano Brivio
parent 6fae899cbb
commit 00cc2303fd
4 changed files with 12 additions and 8 deletions

View File

@ -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;

View File

@ -136,7 +136,8 @@ 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 +
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;

View File

@ -108,7 +108,8 @@ 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 +
return (void *)(uintptr_t)(guest_addr - r->gpa +
r->mmap_addr +
r->mmap_offset);
}
}

View File

@ -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 +