NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/52380 CVS commit: [netbsd-8] src/sys/ufs/ffs

The following reply was made to PR kern/52380; it has been noted by GNATS.

From: "Martin Husemann" <>
Subject: PR/52380 CVS commit: [netbsd-8] src/sys/ufs/ffs
Date: Wed, 29 May 2019 15:51:40 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Wed May 29 15:51:40 UTC 2019
 Modified Files:
 	src/sys/ufs/ffs [netbsd-8]: ffs_alloc.c
 Log Message:
 Pull up following revision(s) (requested by kardel in ticket #1272):
 	sys/ufs/ffs/ffs_alloc.c: revision 1.164
 PR/53990, PR/52380, PR/52102: UFS2 cylinder group inode allocation botch
 Fix rare allocation botch in ffs_nodealloccg().
     a) less than
          - inodes_per_filesystem_block
        are allocated in the cylinder group
     b) cg->cg_irotor points to a uninterupted run of
        allocated inodes in the inode bitmap up to the
        end of dynamically initialized inodes
 In this case the next inode after this run was returned
 without initializing the respective inode block. As the
 block is not initialized these inodes could trigger panics
 on inode consistency due to old (uninitialized) disk data.
 In very rare cases data loss could occur when
 the uninitialized inode block is initialized via the
 normal mechanism.
 Further conditions to occur after the above:
     c) no panic
     d) no (forced) fsck
     e) and more than cg->cg_initediblk - inodes_per_filesystem_block
        allocated inodes.
 Always insure allocation always in initialized inode range
 extending the initialized inode range as needed.
 Add KASSERTMSG() safeguards.
 ok hannken@
 To generate a diff of this commit:
 cvs rdiff -u -r1.156.6.1 -r1.156.6.2 src/sys/ufs/ffs/ffs_alloc.c
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index