public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: passt-dev@passt.top, Stefano Brivio <sbrivio@redhat.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH 03/18] vhost_user: Fix assorted minor cppcheck warnings
Date: Fri, 27 Mar 2026 15:34:15 +1100	[thread overview]
Message-ID: <20260327043430.1785787-4-david@gibson.dropbear.id.au> (raw)
In-Reply-To: <20260327043430.1785787-1-david@gibson.dropbear.id.au>

This fixes a batch of minor incorrect format specifier and "could be const"
warnings in the vhost_user code.  For some very strange reason, cppcheck
doesn't catch these errors right now, but does after code rearrangements
we're making for the dynamic forwarding update stuff.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
 vhost_user.c | 16 +++++++++-------
 virtio.h     |  2 +-
 vu_common.c  |  2 +-
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/vhost_user.c b/vhost_user.c
index 75665ec6..f062badd 100644
--- a/vhost_user.c
+++ b/vhost_user.c
@@ -440,11 +440,13 @@ static bool vu_set_mem_table_exec(struct vu_dev *vdev,
 
 	debug("vhost-user nregions: %u", memory->nregions);
 	for (i = 0; i < vdev->memory.nregions; i++) {
-		struct vhost_user_memory_region *msg_region = &memory->regions[i];
 		struct vu_dev_region *dev_region = &vdev->memory.regions[i];
+		const struct vhost_user_memory_region *msg_region;
 		const void *mmap_addr;
 
-		debug("vhost-user region %d", i);
+		msg_region = &memory->regions[i];
+
+		debug("vhost-user region %u", i);
 		debug("    guest_phys_addr: 0x%016"PRIx64,
 		      msg_region->guest_phys_addr);
 		debug("    memory_size:     0x%016"PRIx64,
@@ -479,7 +481,7 @@ static bool vu_set_mem_table_exec(struct vu_dev *vdev,
 	for (i = 0; i < VHOST_USER_MAX_VQS; i++) {
 		if (vdev->vq[i].vring.desc) {
 			if (map_ring(vdev, &vdev->vq[i]))
-				die("remapping queue %d during setmemtable", i);
+				die("remapping queue %u during setmemtable", i);
 		}
 	}
 
@@ -763,8 +765,8 @@ static void vu_set_watch(const struct vu_dev *vdev, int idx)
  */
 static void vu_check_queue_msg_file(struct vhost_user_msg *vmsg)
 {
+	unsigned idx = vmsg->payload.u64 & VHOST_USER_VRING_IDX_MASK;
 	bool nofd = vmsg->payload.u64 & VHOST_USER_VRING_NOFD_MASK;
-	int idx = vmsg->payload.u64 & VHOST_USER_VRING_IDX_MASK;
 
 	if (idx >= VHOST_USER_MAX_VQS)
 		die("Invalid vhost-user queue index: %u", idx);
@@ -1010,11 +1012,11 @@ static bool vu_set_device_state_fd_exec(struct vu_dev *vdev,
 		die("Invalid device_state_fd message");
 
 	if (phase != VHOST_USER_TRANSFER_STATE_PHASE_STOPPED)
-		die("Invalid device_state_fd phase: %d", phase);
+		die("Invalid device_state_fd phase: %u", phase);
 
 	if (direction != VHOST_USER_TRANSFER_STATE_DIRECTION_SAVE &&
 	    direction != VHOST_USER_TRANSFER_STATE_DIRECTION_LOAD)
-		die("Invalid device_state_fd direction: %d", direction);
+		die("Invalid device_state_fd direction: %u", direction);
 
 	migrate_request(vdev->context, vmsg->fds[0],
 			direction == VHOST_USER_TRANSFER_STATE_DIRECTION_LOAD);
@@ -1047,7 +1049,7 @@ static bool vu_check_device_state_exec(struct vu_dev *vdev,
  */
 void vu_init(struct ctx *c)
 {
-	int i;
+	unsigned i;
 
 	c->vdev = &vdev_storage;
 	c->vdev->context = c;
diff --git a/virtio.h b/virtio.h
index c7e447d5..8f2ae068 100644
--- a/virtio.h
+++ b/virtio.h
@@ -90,7 +90,7 @@ struct vu_dev_region {
 	uint64_t mmap_addr;
 };
 
-#define VHOST_USER_MAX_VQS 2
+#define VHOST_USER_MAX_VQS 2U
 
 /*
  * Set a reasonable maximum number of ram slots, which will be supported by
diff --git a/vu_common.c b/vu_common.c
index 92381cd3..13b1e510 100644
--- a/vu_common.c
+++ b/vu_common.c
@@ -256,7 +256,7 @@ int vu_send_single(const struct ctx *c, const void *buf, size_t size)
 			      ARRAY_SIZE(in_sg), &in_total, size, &total);
 	if (elem_cnt == 0 || total < size) {
 		debug("vu_send_single: no space to send the data "
-		      "elem_cnt %d size %zd", elem_cnt, total);
+		      "elem_cnt %d size %zu", elem_cnt, total);
 		goto err;
 	}
 
-- 
2.53.0


  parent reply	other threads:[~2026-03-27  4:34 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-27  4:34 [PATCH 00/18] More pesto preliminaries David Gibson
2026-03-27  4:34 ` [PATCH 01/18] conf: runas can be const David Gibson
2026-03-27  4:34 ` [PATCH 02/18] fwd: Comparing rule " David Gibson
2026-03-27  4:34 ` David Gibson [this message]
2026-03-27  4:34 ` [PATCH 04/18] serialise: Split functions user for serialisation from util.c David Gibson
2026-03-27  4:34 ` [PATCH 05/18] serialise: Add helpers for serialising unsigned integers David Gibson
2026-03-27  4:34 ` [PATCH 06/18] fwd: Move selecting correct scan bitmap into fwd_sync_one() David Gibson
2026-03-27  4:34 ` [PATCH 07/18] fwd: Look up rule index in fwd_sync_one() David Gibson
2026-03-27  4:34 ` [PATCH 08/18] fwd: Store forwarding tables indexed by (origin) pif David Gibson
2026-03-27  4:34 ` [PATCH 09/18] fwd: Allow FWD_DUAL_STACK_ANY flag to be passed directly to fwd_rule_add() David Gibson
2026-03-27  4:34 ` [PATCH 10/18] fwd, conf: Expose ephemeral ports as bitmap rather than function David Gibson
2026-03-27  4:34 ` [PATCH 11/18] conf: Don't bother complaining about overlapping excluded ranges David Gibson
2026-03-27  4:34 ` [PATCH 12/18] conf: Move check for mapping port 0 to caller David Gibson
2026-03-27  4:34 ` [PATCH 13/18] conf: Move check for disabled interfaces earlier David Gibson
2026-03-27  4:34 ` [PATCH 14/18] conf: Remove redundant warning when SO_BINDTODEVICE is unavailable David Gibson
2026-03-27  4:34 ` [PATCH 15/18] pif: Limit pif names to IFNAMSIZ (16) bytes David Gibson
2026-03-29 12:02   ` Stefano Brivio
2026-03-27  4:34 ` [PATCH 16/18] ip: Define a bound for the string returned by ipproto_name() David Gibson
2026-03-27  4:34 ` [PATCH 17/18] bitmap: Split bitmap helper functions into their own module David Gibson
2026-03-27  4:34 ` [PATCH 18/18] fwd: Split forwading rule specification from its implementation state David Gibson
2026-03-29 12:02 ` [PATCH 00/18] More pesto preliminaries Stefano Brivio

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=20260327043430.1785787-4-david@gibson.dropbear.id.au \
    --to=david@gibson.dropbear.id.au \
    --cc=passt-dev@passt.top \
    --cc=sbrivio@redhat.com \
    /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).