Date: Wed, 01 Apr 2026 19:05:45 +0000 From: Ed Maste <emaste@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> Subject: git: 970e0db1c38b - main - bhyve/virtio: Fix comparison of integer expressions of different signedness Message-ID: <69cd6c89.267cf.65fc6dd1@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=970e0db1c38b8b5f873e7c9797bb9abcad76a1d7 commit 970e0db1c38b8b5f873e7c9797bb9abcad76a1d7 Author: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> AuthorDate: 2026-03-09 18:10:54 +0000 Commit: Ed Maste <emaste@FreeBSD.org> 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_ */home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69cd6c89.267cf.65fc6dd1>
