git: 441e69e419ef - main - fsck_ufs: fix segfault with gjournal

Robert Wing rew at FreeBSD.org
Thu Jun 3 02:32:46 UTC 2021


The branch main has been updated by rew:

URL: https://cgit.FreeBSD.org/src/commit/?id=441e69e419effac0225a45f4cdb948280b8ce5ab

commit 441e69e419effac0225a45f4cdb948280b8ce5ab
Author:     Robert Wing <rew at FreeBSD.org>
AuthorDate: 2021-06-03 01:41:31 +0000
Commit:     Robert Wing <rew at FreeBSD.org>
CommitDate: 2021-06-03 02:30:20 +0000

    fsck_ufs: fix segfault with gjournal
    
    The segfault was being hit in ckfini() (sbin/fsck_ffs/fsutil.c) while
    attempting to traverse the buffer cache. The tail queue used for the
    buffer cache was not initialized before dropping into gjournal_check().
    
    Initialize the buffer cache before calling gjournal_check().
    
    PR:             245907
    Reviewed by:    jhb, mckusick
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D30537
---
 sbin/fsck_ffs/main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sbin/fsck_ffs/main.c b/sbin/fsck_ffs/main.c
index 401ee10f9be3..67aff2dde73c 100644
--- a/sbin/fsck_ffs/main.c
+++ b/sbin/fsck_ffs/main.c
@@ -309,6 +309,7 @@ checkfilesys(char *filesys)
 				exit(0);
 			}
 			if ((sblock.fs_flags & (FS_UNCLEAN | FS_NEEDSFSCK)) == 0) {
+				bufinit();
 				gjournal_check(filesys);
 				if (chkdoreload(mntp) == 0)
 					exit(0);


More information about the dev-commits-src-all mailing list