From nobody Sat Oct 03 15:42:39 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 4hxqfS1fSnz6vc20 for ; Sat, 03 Oct 2026 15:42:40 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hxqfS0kdfz4Sdf for ; Sat, 03 Oct 2026 15:42:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791042160; 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=NGZ9eHbmOeJz7edK+cBXfIPluEd6zDPQcEutFRGy2nA=; b=IUe3dNHCZFtV/3OqusNDTuZXkiV8ItI8UOUwL541SIvFRkxMKwdPDtkt4Cjdt1KjCVy4+U 0mEM3zuhtkwETf8w/4UwUez0HInAU5yM9CQPE4AqWMP/YVb+U8IV6Z7XresBVUV2BOD1nN dDKDpFZnJX7+Pz4mh3dLeg0JfOQ2MghvAdLn7dsUZNh6vCD+6KC0izOeo5mVzG29NlFuCe LV3/S/DenyY/oh/4McrwSRoV3KK37YS/kC5GTrMRDxMRS2T9zx3upBO0nI7aLyOWcqEnL7 lCq8ho0RdpuRm4oH0+0UkUw8storWF8Rn3aacAjFqAJ16W2FP2OJQSJtkJGoZg== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791042160; b=hFjkHS1ZggiZUfTctwqLz4SMQ3wBNL4HetP9RBcqE/Wk+Gd3gmfV6Po8aUZ4z+gT67q6xb qqzwjibvp/ELAs5Yl7adKeAFQXf+q3pF7cS4E/sJjSHO8flgicuwhnhvKMZeL6l20fLj9v jYmcAB6qc4iwYkh+eKrNQ9IbkN9x4rapbzUDKESVG0azlhyUgTF0j94mpm7DlYl4kFzfaP BqyCDGaOMXxfQoP2REzvy/aMycor7loqzBncCwHXo6fK+BtyNOoqGpdmvv1k09FYC5Uvok ws9Fxfn+TJNbY7KnAtuH/ZxvH86Mz8c9s1Fl42NHAQkvcMm3UxHjtyepcWqkaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791042160; 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=NGZ9eHbmOeJz7edK+cBXfIPluEd6zDPQcEutFRGy2nA=; b=TDIOFfiD9ldVf7DwMiqIAoqmyL/vlPyhuyZAFfvEfoKVMd9G0K6Ovv7EJl3lvZLnNEn1et 0eViNGHLCHXd3Gzo7q0as+v8q/8j72ckq+o8xz05+OKE5Dh+xGzlmS7OwlvO3zqf8x0bey WY7UtU5jtfKB1dxgi2O+4M1KO9UKEX2AAe5EGSUDq/ODu43+l0W617EAZWu/MMc9qjLGcq XF8xfYWL4fKWU3oXxgSkCyWW6UdLv6P8ktv7y+cwVxTI5AgL6jDEnj+NVwcxXFnK8xqN5I stP/BAP5FGKEdBVQwy7G3boTEwfi7dbYwpSv7BNWzzAS3uAXlY/+TXv5cJN5TA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hxqfR6wfFz18Td for ; Sat, 03 Oct 2026 15:42:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42708 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 03 Oct 2026 15:42:39 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 434819b4fec5 - main - mkimg: Avoid leaking a page of mmap 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 434819b4fec5e508bdfe72f91e73402e9c2fca22 Auto-Submitted: auto-generated Date: Sat, 03 Oct 2026 15:42:39 +0000 Message-Id: <6ac1226f.42708.62d8dcc7@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=434819b4fec5e508bdfe72f91e73402e9c2fca22 commit 434819b4fec5e508bdfe72f91e73402e9c2fca22 Author: Colin Percival AuthorDate: 2026-09-26 00:42:40 +0000 Commit: Colin Percival CommitDate: 2026-10-03 15:40:50 +0000 mkimg: Avoid leaking a page of mmap The image_file_map function adjusts the provided file offset to be page-aligned, with a resulting increase in the size of the mapped region; the increased size needs to be used when unmapping as well. Reported by: Claude Opus 5.5 Fixes: baf4abfc39b2 ("Allow building mkimg as cross-tool") MFC after: 2 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D60148 --- usr.bin/mkimg/image.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/usr.bin/mkimg/image.c b/usr.bin/mkimg/image.c index 90817206e317..84d66af97a60 100644 --- a/usr.bin/mkimg/image.c +++ b/usr.bin/mkimg/image.c @@ -330,10 +330,11 @@ image_file_map(int fd, off_t ofs, size_t sz, off_t *iofp) } static int -image_file_unmap(void *buffer, size_t sz) +image_file_unmap(void *buffer, size_t sz, off_t iof) { size_t unit; + sz += iof; unit = (secsz > image_swap_pgsz) ? secsz : image_swap_pgsz; sz = (sz + unit - 1) & ~(unit - 1); if (madvise(buffer, sz, MADV_DONTNEED) != 0) @@ -381,7 +382,7 @@ image_copyin_stream(lba_t blk, int fd, uint64_t *sizep) error = errno; else error = 0; - image_file_unmap(buffer, iosz); + image_file_unmap(buffer, iosz, iof); /* XXX should we relinguish unused swap space? */ if (error) return (error); @@ -465,7 +466,7 @@ image_copyin_mapped(lba_t blk, int fd, uint64_t *sizep) buf += iof; error = image_chunk_copyin(blk, buf, sz, data, fd); - image_file_unmap(mp, sz); + image_file_unmap(mp, sz, iof); } else error = errno; @@ -590,7 +591,7 @@ image_copyout_file(int fd, size_t size, int ifd, off_t iofs) return (errno); buf += iof; error = image_copyout_memory(fd, sz, buf); - image_file_unmap(mp, sz); + image_file_unmap(mp, sz, iof); if (error) return (error); size -= sz;