From nobody Wed Apr 1 19:05:45 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fmDw926LLz6YLWm for ; Wed, 01 Apr 2026 19:05:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fmDw90zqZz3SsJ for ; Wed, 01 Apr 2026 19:05:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1775070345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=afeDYXSO+i2oPoEqKC+jE2GCm2852+1Ex2ujiBgnF1g=; b=PVkphKxQ8ADXjbGj5CoihepthGO7Yxaj7XvkypdFqKOU85LPSmclpuT8Fmrd76pKt2HNKC rc5WxqE8upkeMYMumnTv9NYbKCYzNPfFSTypmEfc+51a8CWeqpFDtpi4eHqLNlFyNkrSdy ETE9GzUTUrQM8vbY8/zBHWpjglpau5qHtKtFCKPXY4fodE3vt3Kf3loswb4O8GEtn7Dd6m yLoWht2zYCXDTHeW4/JAqdaqbjd+fqXz4lGTljZ4u+wpxOIgA7m3VhmXCZw+XTM5yNB0FS TvUeydh6Pf0oqwslQRcL1xQoe+4fRphLx4jl/1CwToJOVkUFkDQLdrUIGPT7Wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1775070345; a=rsa-sha256; cv=none; b=laH6fRjme+6um7/7W5bN3gmb+HUfhUpjcFQ6jvkECgebJTYptTIVft4K5dAviio31tza3Y g8UrxZs+YS+A+xNi+cMU1bNMJOZNIBOunaU4znk+T+6ZlFG18EkDltNyVWwkAZHCF5XIwr 9fZvXx4ortJXKGV3jSla3EjR/DoT/tpryDYdKNOQUSo5Uo2LKr9POI+KlbYBpd5h53oed0 vFEzxkb8z+QPkFle0E+YGRwyppbz3aijFpl5wZgl8CieW355IV+Vzg/crSpC+I2KWylqNv QlOJOt4o3LbMfOX766cjkOdficHemJEOstFwtX5TUR7EyOaDM6QSFoZKqe6hvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1775070345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=afeDYXSO+i2oPoEqKC+jE2GCm2852+1Ex2ujiBgnF1g=; b=u/81VAz7ovEOCoSP5+1d71yyMo5tWQR/eUF7TQ3te8Vzkl0yfbDfZj7XvWiHA0+4fQSFbl xPlzgTJPdXUqiMCJfNp9hAOI5cnyRIanlbus3o5hRl+wShBck4WalB51vEeMHccvRG4AE6 mG1KH+ZwzKHQTqFyK5U3dXKQtrCZsX97erfQykl3Xm3fxPA1p9DxIPO7jS0q/wZXQEGHsB xIZag9g1LQtNgLnfLhKldGVhXI0U+FaPv12LYHXx0j3VJstu6XROKeMK4yRynqoEogFt3j 4aRjOLpvqho3KtjkkAFZlvM0XvnXvor/Jtu72cLawiywcZOVCzeAVl+pbWBK6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fmDw90SYfzCWx for ; Wed, 01 Apr 2026 19:05:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 267cf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 01 Apr 2026 19:05:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Hans Rosenfeld From: Ed Maste Subject: git: 970e0db1c38b - main - bhyve/virtio: Fix comparison of integer expressions of different signedness List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 970e0db1c38b8b5f873e7c9797bb9abcad76a1d7 Auto-Submitted: auto-generated Date: Wed, 01 Apr 2026 19:05:45 +0000 Message-Id: <69cd6c89.267cf.65fc6dd1@gitrepo.freebsd.org> The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=970e0db1c38b8b5f873e7c9797bb9abcad76a1d7 commit 970e0db1c38b8b5f873e7c9797bb9abcad76a1d7 Author: Hans Rosenfeld AuthorDate: 2026-03-09 18:10:54 +0000 Commit: Ed Maste CommitDate: 2026-04-01 19:05:26 +0000 bhyve/virtio: Fix comparison of integer expressions of different signedness It's a bit silly to have iov_to_buf() and buf_to_iov() return a ssize_t to begin with, just to be able to return -1 for error. Change this to size_t and use 0 as an error indicator, which won't require any changes to the code using these functions. While here, switch iov_to_buf() to use reallocf() instead of realloc(). Reviewed by: jhb Fixes: 2a514d377b37 ("bhyve/virtio-scsi: Preallocate all I/O requests") Differential Revision: https://reviews.freebsd.org/D55800 --- usr.sbin/bhyve/iov.c | 10 +++++----- usr.sbin/bhyve/iov.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/usr.sbin/bhyve/iov.c b/usr.sbin/bhyve/iov.c index 16d7765b437b..aadea1d67933 100644 --- a/usr.sbin/bhyve/iov.c +++ b/usr.sbin/bhyve/iov.c @@ -110,16 +110,16 @@ check_iov_len(const struct iovec *iov, size_t niov, size_t len) return (false); } -ssize_t +size_t iov_to_buf(const struct iovec *iov, size_t niov, void **buf) { size_t ptr, total; size_t i; total = count_iov(iov, niov); - *buf = realloc(*buf, total); + *buf = reallocf(*buf, total); if (*buf == NULL) - return (-1); + return (0); for (i = 0, ptr = 0; i < niov; i++) { memcpy((uint8_t *)*buf + ptr, iov[i].iov_base, iov[i].iov_len); @@ -129,7 +129,7 @@ iov_to_buf(const struct iovec *iov, size_t niov, void **buf) return (total); } -ssize_t +size_t buf_to_iov(const void *buf, size_t buflen, const struct iovec *iov, size_t niov) { size_t off = 0, len; @@ -141,5 +141,5 @@ buf_to_iov(const void *buf, size_t buflen, const struct iovec *iov, size_t niov) off += len; } - return ((ssize_t)off); + return (off); } diff --git a/usr.sbin/bhyve/iov.h b/usr.sbin/bhyve/iov.h index e14a9bc7e019..788e8da84b8b 100644 --- a/usr.sbin/bhyve/iov.h +++ b/usr.sbin/bhyve/iov.h @@ -40,7 +40,7 @@ struct iovec *split_iov(struct iovec *, size_t *, size_t, size_t *); size_t count_iov(const struct iovec *, size_t); bool check_iov_len(const struct iovec *, size_t, size_t); -ssize_t iov_to_buf(const struct iovec *, size_t, void **); -ssize_t buf_to_iov(const void *, size_t, const struct iovec *, size_t); +size_t iov_to_buf(const struct iovec *, size_t, void **); +size_t buf_to_iov(const void *, size_t, const struct iovec *, size_t); #endif /* _IOV_H_ */