From nobody Tue Feb 24 15:16:03 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 4fL1Ws3xBqz6SHS5 for ; Tue, 24 Feb 2026 15:16:09 +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 4fL1Ws2hF3z3bkS for ; Tue, 24 Feb 2026 15:16:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771946169; 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=Fhzy9I7pRxyjtkAxJQEzglqPAjm2UKk7+k8w6mVELFY7BCRl4WxpVS348hTfx1Ttvln0xP oQbNtHi2Mc5f12irQ58ZLE6lHynSoz0odAwv14teKjai6gt1/r5r5HMtRZAw8l3UOu3Jqv CmJ3eRsQ8yF+iixKDAH9etXkmOsJCuC1QodJKg8d5NuOekOb6PRKpxMRuzGAxqshTcrJ2+ AE93uPv6tUyzEAsgL1VkUgiq5UeN7H0+7s8jZ9YX39g28mWuahat9+T0l887LusvshBirp efiK/TmxCwjx+iGOSGs+evT0pSGiF03wbjyzkKevyb5Y5KY0jPbtkr83Pcf64A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771946169; a=rsa-sha256; cv=none; b=avWKVHRLwi5yopmvLUnO1dLfLu90OmSiDBDcGBCmZnJ9/JHz98a3Kbu/V0GKJLseyCRei9 tz10mix2oU0QdLgkDn5X89Ci3HhBT7Qhivm2qpapCuZH5YEHm92pXnL2gKWGX6IIKW4z0d o+Q2jDfVmhYeJvJy4P341+R/SDjOln6QE1PIYZskcHYYxA5Xp6MQSD2Rrvdj4QMQtWgxfK WSfKae0MZu/irpfKgbJbI1Z6/1SOEO3WYpTcRzw+7Mvj1vBZYG4zFok0V/+3YspV4WH3Al q0zzxOp2vDHCQ7g33B+hrUfuiCAS0s8hFlbv8+d97nRdfVlSCMhlpUVMdB+I6g== 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=1771946169; 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=l/sy1ss/mdUlCe3tWrVKs4Ln+bCejXKJIHkX95fQhALaKq8kxw/AdGTlqnQg5wjniFYyf4 bsMc94PKZIvo7ctcPWZuhq1z7mRnPnfmPkrpFaSUnsr5gcf0fPAl9S3L+FnChnAxEN/QpP RS1XfliUKISnznJwaBPswEW0aAvURgAEc6nZRDyy2PiZWoHsyu8ZcI7T9rriV1P/QllHJs kwUIgudH8eEtPKrBck0KQ/MssDWMkjRYneyE9UDPDDZv/7EPP24bKi9mhTelMURC7D3UeG sp7wsX9BSkzlBIOc8ehqcvRTrwhLQx2KTdxw6/tkCr4wXhM1fUqysTktWIF/EA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fL1Ws2FJsz60p for ; Tue, 24 Feb 2026 15:16:09 +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 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: 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