From nobody Sun Jun 1 19:54:03 2025 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 4b9SND531Tz5y5nn; Sun, 01 Jun 2025 19:54: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b9SNC3n50z3t1q; Sun, 01 Jun 2025 19:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807643; 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=jyPcPfGUGs0/fDDjK0wDUcb2IXBlaudngd8TL+FEvj4=; b=w9QNSLUMm2rnMPEfsx5aYmAcDNJg94fGAcuuBEG4s//qASkrHLBeEopWrlVpfXcZLS/uJX nhlsxwaDUr9YOalxx/IPgotjLen32goNnl2ll/40/Ng6Pd3x7gIhwzaVFKr1+C6rGtM4uM VV/hqMvsaaVuHbZfeqqZGfPOi1LwkFdFPmiEC0DITVOrX4HvKOUCPaQjrDRuLCPenY27Bw N2gNstVzy8No8zq+xZpVFuzMjmS8FXrLtxrBRlpUlsh/u89jmKbbdULi+INSaVcNq08pSN Y8huxO9IYjlLCrW8yrKASG/E5SYeBEfd+u8LR/RYYu0Cl4d5/3C0AwTrq/sugQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1748807643; 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=jyPcPfGUGs0/fDDjK0wDUcb2IXBlaudngd8TL+FEvj4=; b=NbK1gOcS1LplVJTRZ4xZ0PPKQPJNwQYdQPjOzKGIZq7FwDyiTYdKHj/0TBgX/C3kBGvm9M iTEsXCC3PgdnzkJD+Sc65skBtomS23BqjOSgIc9df9U4gcUx8665Y99hNUTLYqmqF6Aua5 kdAwGqvd3SY09g4mP9FQT2Jtpl8ehEVmaG6r+vt9b4Nd8i3ZyCcIXWZmj8xJi242JJfkvq AitT6vNq7dgfmsxlaaTNTTRaPMFAsfAQII7ZH+uef1fImKQp9Hu4iahKf4S2ojEOql2ioJ AYLcIMoGKfsBpo+dnEnaIDi87CUvAyXqHcZ1jfg84ufwU1Cqs3XIhb4zXAE6QA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1748807643; a=rsa-sha256; cv=none; b=C7lY8HL1/VCNnMRTVq0/1+HZ9FvfkWNAZ6acBVbC9OPbnKYIoYw2B01Fjz5wNsG93s00a6 3UHqQcxw8Yw2Fmwv04duKdurAnL+AKa5trKW9vfyR3yplZ5Ha3Ay8MR7CZDrKe8xTerRBc nad8B9a05AMW4GQx+/5HVAUOPk4dO35BVT/e2MO0AwVsq5H2U+pM6Lbmf6mu5v1M4gCsrm NcZQVVOOFprmDGi5F8Yuo8LWLaZa1qY+KjKEufEIXPjT8063rX4Y6Ex5QmJIIBThfwz5qq KosTmn/3RT/eI1mfF5JKGN6gplFEPn2ojnfcRWVXFZVRPMNknWLzXahc1XVvRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b9SNC3DfvzdWf; Sun, 01 Jun 2025 19:54:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 551Js3Nw046156; Sun, 1 Jun 2025 19:54:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 551Js3Ww046153; Sun, 1 Jun 2025 19:54:03 GMT (envelope-from git) Date: Sun, 1 Jun 2025 19:54:03 GMT Message-Id: <202506011954.551Js3Ww046153@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 8ba7ac5a15e7 - stable/14 - makefs: Ensure that FFS superblocks are reproducible 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/stable/14 X-Git-Reftype: branch X-Git-Commit: 8ba7ac5a15e7b5276c6b75934bb604ff5c98ce67 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=8ba7ac5a15e7b5276c6b75934bb604ff5c98ce67 commit 8ba7ac5a15e7b5276c6b75934bb604ff5c98ce67 Author: Mark Johnston AuthorDate: 2025-05-08 15:49:53 +0000 Commit: Mark Johnston CommitDate: 2025-06-01 19:53:29 +0000 makefs: Ensure that FFS superblocks are reproducible The superblock structure has space reserved for a pointer to an in-memory structure that gets created at mount time. makefs populates it since that simplifies code elsewhere. However, the pointer value ends up in the output file, which breaks reproducibility. Zero the field when writing the superblock instead, as its on-disk value is ignored. Reviewed by: emaste MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50196 (cherry picked from commit 764ccf410c3c5453c4656113d75cd81fcf01828d) --- usr.sbin/makefs/ffs/mkfs.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/usr.sbin/makefs/ffs/mkfs.c b/usr.sbin/makefs/ffs/mkfs.c index b579565b6a01..fd7b24a1a6fb 100644 --- a/usr.sbin/makefs/ffs/mkfs.c +++ b/usr.sbin/makefs/ffs/mkfs.c @@ -580,13 +580,21 @@ ffs_write_superblock(struct fs *fs, const fsinfo_t *fsopts) { int size, blks, i, saveflag; uint32_t cylno; - void *space; + void *info, *space; char *wrbuf; saveflag = fs->fs_flags & FS_INTERNAL; fs->fs_flags &= ~FS_INTERNAL; - memcpy(writebuf, &sblock, sbsize); + /* + * Write out the superblock. Blank out the summary info field, as it's + * a random pointer that would make the resulting image unreproducible. + */ + info = fs->fs_si; + fs->fs_si = NULL; + memcpy(writebuf, fs, sbsize); + fs->fs_si = info; + if (fsopts->needswap) ffs_sb_swap(fs, (struct fs*)writebuf); ffs_wtfs(fs->fs_sblockloc / sectorsize, sbsize, writebuf, fsopts);