From nobody Tue Mar 28 09:35:04 2023 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 4Pm4Kc35K2z41fxZ; Tue, 28 Mar 2023 09:35:16 +0000 (UTC) (envelope-from freebsd@oldach.net) Received: from nuc.oldach.net (hmo.in-vpn.de [IPv6:2001:67c:1407:60::1]) (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 (2048 bits) client-digest SHA256) (Client CN "hmo.in-vpn.de", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pm4Kb005rz46wD; Tue, 28 Mar 2023 09:35:14 +0000 (UTC) (envelope-from freebsd@oldach.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of freebsd@oldach.net designates 2001:67c:1407:60::1 as permitted sender) smtp.mailfrom=freebsd@oldach.net; dmarc=none Received: from nuc.oldach.net (localhost [127.0.0.1]) by nuc.oldach.net (8.17.1/8.17.1/hmo04jun22) with ESMTPS id 32S9Z4JH089455 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 28 Mar 2023 11:35:04 +0200 (CEST) (envelope-from freebsd@oldach.net) Received: (from hmo@localhost) by nuc.oldach.net (8.17.1/8.17.1/hmo01feb23/Submit) id 32S9Z4gc089454; Tue, 28 Mar 2023 11:35:04 +0200 (CEST) (envelope-from freebsd@oldach.net) Message-Id: <202303280935.32S9Z4gc089454@nuc.oldach.net> Subject: Re: git: 4660b60a00c3 - stable/13 - Updates to UFS/FFS superblock integrity checks when reading a superblock. In-Reply-To: <202303272347.32RNlJVI080195@gitrepo.freebsd.org> from Kirk McKusick at "27 Mar 2023 23:47:19" To: mckusick@FreeBSD.org (Kirk McKusick) Date: Tue, 28 Mar 2023 11:35:04 +0200 (CEST) Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: freebsd@oldach.net (Helge Oldach) X-No-Archive: Yes 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Greylist: inspected by milter-greylist-4.6.4 (nuc.oldach.net [0.0.0.0]); Tue, 28 Mar 2023 11:35:04 +0200 (CEST) for IP:127.0.0.1 DOMAIN:localhost HELO:nuc.oldach.net FROM:freebsd@oldach.net RCPT: X-Spamd-Result: default: False [-3.28 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.981]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; FROM_NO_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-branches@FreeBSD.org]; FROM_EQ_ENVFROM(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; ASN(0.00)[asn:29670, ipnet:2001:67c:1400::/45, country:DE]; RCPT_COUNT_THREE(0.00)[4]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[oldach.net]; TO_DN_NONE(0.00)[]; RCVD_TLS_LAST(0.00)[] X-Rspamd-Queue-Id: 4Pm4Kb005rz46wD X-Spamd-Bar: --- X-ThisMailContainsUnwantedMimeParts: N Kirk McKusick wrote on Tue, 28 Mar 2023 01:47:19 +0200 (CEST): > The branch stable/13 has been updated by mckusick: > > URL: https://cgit.FreeBSD.org/src/commit/?id=4660b60a00c3120ddecd94b3f308d39bcb6d085a > > commit 4660b60a00c3120ddecd94b3f308d39bcb6d085a > Author: Kirk McKusick > AuthorDate: 2023-03-27 23:45:59 +0000 > Commit: Kirk McKusick > CommitDate: 2023-03-27 23:46:40 +0000 > > Updates to UFS/FFS superblock integrity checks when reading a superblock. > > Have to add a check that the computed cylinder group size does not > exceed the block size of the filesystem. > > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D38668 > > (cherry picked from commit 0eabe33087d8cb69ae800daae322f12a8f16bd10) > --- > sys/ufs/ffs/ffs_subr.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c > index d847373a8cde..2f69965aba7e 100644 > --- a/sys/ufs/ffs/ffs_subr.c > +++ b/sys/ufs/ffs/ffs_subr.c > @@ -446,6 +446,7 @@ validate_sblock(struct fs *fs, int isaltsblk) > CHK(fs->fs_old_cgoffset, <, 0, %jd); > CHK2(fs->fs_old_cgoffset, >, 0, ~fs->fs_old_cgmask, <, 0, %jd); > CHK(fs->fs_old_cgoffset * (~fs->fs_old_cgmask), >, fs->fs_fpg, %jd); > + CHK(CGSIZE(fs), >, fs->fs_bsize, %jd); > /* > * If anything has failed up to this point, it is usafe to proceed > * as checks below may divide by zero or make other fatal calculations. > With this check added, my -STABLE VM fails to boot with lots of "UFS2 superblock failed" messages. Trying to repair the (apparently broken) file system by booting kernel.old/kernel single-user yields: root@ / # fsck -y /dev/ufs/latitude UFS2 superblock failed: CGSIZE(fs) (32772) > fs->fs_bsize (32768) Cannot find file system superblock UFS2 superblock failed: CGSIZE(fs) (32772) > fs->fs_bsize (32768) Cannot find file system superblock LOOK FOR ALTERNATE SUPERBLOCKS? no root@ / # Removing the committed extra check and all is fine again. Kind regards Helge