From nobody Wed Apr 1 19:05:45 2026 X-Original-To: dev-commits-src-main@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 4fmDwG48Z6z6YLTF for ; Wed, 01 Apr 2026 19:05:50 +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 4fmDwG1pgKz3TGC for ; Wed, 01 Apr 2026 19:05:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1775070350; 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=lsuZUrbvdkRyZpK2uZXXRHuBe4REc7Weg8QmDGunQ8kERFAVhzQSwit+mO+dDhocH4Z8DG /PSBkvbfIlZdnQVsvXJXr+0G1T9UbASnMzTbIo8Y7acCVsMtpHYd0njsQfdJmgvRUyRGlZ Xyz9WIWXrmg4iZpgCSUS/WubwI1hS2bAeOugQpf+Gyz9ggSAe4b1Y+hG0PV4N7rOHnmf1J yzanebodMxUmXsxTsmpnj0iDbeFm6vhudqNH+eZQk5tyv4G7smIWeB6W3xRmrB4I0/rBvn J21uiExU9xf04TAP3kjNAaI1t4Qjuyxx7KcLSSsAg9NFElhb8+JUm/JpmsJ/2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1775070350; a=rsa-sha256; cv=none; b=pDL5/1D++vXD2Cn1xxeUooGtTe9BZCdbUBIUR9Bn0eSfwvTlPqXb13pBaUx+u+KcEOZceO 3q9m1yfCG6qMbenqbaxYUVbiyG/qttnk0rlyZlIZXrxgjkifECAuXa/McrT7nmwe2Lv21E K/gWFRzWmo5QmWhgVCND+X3bba4BnfIjj7C5XdtegFJnTt/3sGgREdZtdMgEDLip68S42y nIC2MiBlEOiZCTYXs6r5Xqf8gTSvfZeXe8jadzJ6ufIMAL7Q97v7QO4z48WHXqu6PnBMiQ 2M4EumqoxvsniMiBQxI4Iv+pg+CZV+9e61arOVjDyq2yAA8siZvtrSPS+EhW/Q== 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=1775070350; 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=FAvz4IXIn4rIHGeGt6yaeBRKJAsyOjbusckq7R6AREKb85d7xL/KYPLJzQ7uBvAsG7pq3B U5YWjOkL8HMVIQ9EXHhGY9Db99aZKtLXJHR+ocA5F0C1aio967JJjgrWyJV1B1n3n3h2A5 HWpY5v6YBOUtj+IR66WsTCmnIl5tXlJAWx3u2B/0hMayG43G3xTkl3uiRO7K60ArJSbpij T4HNaPBHUqkaQMVPv3yfl0WLQb9mEG0UA21L/Em6ERF3jE/WEMqE4c55MJ7YogZCsO7jt2 b4o9rHDJXx8ikj9cDizv+OIQ/y+NW9Ul8kAeOv/OAazsQ54nFKaz0yvd+Q9OPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fmDwG0RRGzCpq for ; Wed, 01 Apr 2026 19:05:50 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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_ */