From nobody Tue Feb 24 15:16:03 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 4fL1Wm3W21z6SHSF for ; Tue, 24 Feb 2026 15:16:04 +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 4fL1Wm0ZCMz3bfg for ; Tue, 24 Feb 2026 15:16:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771946164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=umiwpMs2n/SUCd3etabwJepLhA6CKjqXkYYCAFNNzeQ=; b=pIIr+81exMbIfb/zFCmaWCtAhuDjMi5oF5yfDVLa31ESwkovxh4UF8VJAAOizOJj++llWU TK9aBNI3v9huMyCNDlgZmCnZZCCAvicJCg6CCkaTSu7LD8AMOyLYqyo/q0u1dybtr44wCa jFfzE8jun1qY91EzdZIOqTkmgjL3JX86/IiD8Oq/C+qWqhZ4IGy1oYrKLj5sTY9IpP/FZd bYxUiNAATHFm6iB/CuX/ymEEFtZuqskXXgpeMCcQw1d6fNLnrPJMpz+SQAgkrJJipq0rpY 3yXvi2mvVBtPjqUJvBiyZ/pXGokk5UA6WXVw3kArd+dCQOo+5BEr8scg/E/kfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771946164; a=rsa-sha256; cv=none; b=LHIE/xIzJRV+77+Fq00SgEiWQh9xqwXkC8A/rrlp2DOsziDPHtC4+v8HHzidmAKh7Ycydq cczO5iWSEDCwthCRRZ8mlNSW8VeMEELI9D0jdYPEVRUB5NY7oD/DQPtQKp6IOh79dvfulZ hUBTddRpOL+ce9TBlm4hqbC82DEp8MzxS5gIP46YMNluyj5nmwVVmnyhrzox42GDW8fRXK OE+DQbU7Ph2mjQ5Jx0ZD2k6J5AecGWRFVmLIxcjBEPrVCi20uv5rRVX4OimtcbRRTPBdfg OULkKVrYWXLuDGyO+NX5ZckV0P4fKOCKGL87XHjLNg6CL0py4hp3K0Ba1FKomw== 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=1771946164; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=umiwpMs2n/SUCd3etabwJepLhA6CKjqXkYYCAFNNzeQ=; b=OllWWixV7JuXdebJjsYQTXy816FLR72bk+CPcndqr+ZogZxWXE5hF7n02sq1fZ98CFNZLr ZZB9THyqMN4cxBzvfaXox4xKMYozFMQYbbmusZctHd0GT+il4BrupZLC4qDaL9FEBn06nP 4+La/KuD7dsb1I0xaPxwxeCf7TPfteBDdATXSOw/msBdWMA8GGF61QzyRqBahrDlGu5ghh BAesfINIbq6tfgqmhzE2lXJ1hFvXRv2wQoa4StLPfmFNjyiZ7KBkG11TUVeUERMk58z6a+ RHzB3TwlW6iPamDFF7y7b05g813gWmAkM2FLaFCIwawJ321Ef22D1SwdpRYTlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fL1Wm01g5z60n for ; Tue, 24 Feb 2026 15:16:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21550 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Feb 2026 15:16:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: d7d4da91de20 - main - bhyve: Fix truncate_iov() 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d7d4da91de201841c57a6b8f89b450754b9b8696 Auto-Submitted: auto-generated Date: Tue, 24 Feb 2026 15:16:03 +0000 Message-Id: <699dc0b3.21550.38192579@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d7d4da91de201841c57a6b8f89b450754b9b8696 commit d7d4da91de201841c57a6b8f89b450754b9b8696 Author: Mark Johnston AuthorDate: 2026-02-24 15:14:39 +0000 Commit: Mark Johnston CommitDate: 2026-02-24 15:14:39 +0000 bhyve: Fix truncate_iov() The implementation was simply wrong. It would always just return the first entry in the iovec, even if the requested length is larger than that first entry. Note, this function will be removed soon, see D53468. Reported by: Vinod p n Reviewed by: des, emaste, Hans Rosenfeld MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D55438 --- usr.sbin/bhyve/iov.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/usr.sbin/bhyve/iov.c b/usr.sbin/bhyve/iov.c index 5ebc426227a6..2bad55267ff3 100644 --- a/usr.sbin/bhyve/iov.c +++ b/usr.sbin/bhyve/iov.c @@ -81,19 +81,14 @@ count_iov(const struct iovec *iov, int niov) void truncate_iov(struct iovec *iov, int *niov, size_t length) { - size_t done = 0; int i; - for (i = 0; i < *niov; i++) { - size_t toseek = MIN(length - done, iov[i].iov_len); - done += toseek; - - if (toseek <= iov[i].iov_len) { - iov[i].iov_len = toseek; - *niov = i + 1; - return; - } + for (i = 0; i < *niov && length > 0; i++) { + if (length < iov[i].iov_len) + iov[i].iov_len = length; + length -= iov[i].iov_len; } + *niov = i; } ssize_t