From: Laurent Vivier <lvivier@redhat.com>
To: passt-dev@passt.top
Cc: Laurent Vivier <lvivier@redhat.com>
Subject: [PATCH] Fix build on 32bit target
Date: Wed, 27 Nov 2024 12:15:51 +0100 [thread overview]
Message-ID: <20241127111551.3617675-1-lvivier@redhat.com> (raw)
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>
---
packet.c | 2 +-
vhost_user.c | 11 +++++++----
virtio.c | 5 +++--
vu_common.c | 2 +-
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/packet.c b/packet.c
index e5a78d079231..03a11e6ac4d9 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 51c90db10e7b..4b8558fa851f 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 0598ff479858..a76de5e00222 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 2a18e9794b5c..0763ec053c37 100644
--- a/vu_common.c
+++ b/vu_common.c
@@ -34,7 +34,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 +
--
@@ -34,7 +34,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 +
--
2.47.0
reply other threads:[~2024-11-27 11:15 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241127111551.3617675-1-lvivier@redhat.com \
--to=lvivier@redhat.com \
--cc=passt-dev@passt.top \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).