Re: [PATCH] hfs: fix oops on mount with corrupted btree extent records

From: Valdis . Kletnieks
Date: Tue Oct 13 2009 - 00:13:47 EST


On Mon, 12 Oct 2009 20:41:37 EDT, Jeff Mahoney said:
> A particular fsfuzzer run caused an hfs file system to crash on mount. This
> is due to a corrupted MDB extent record causing a miscalculation of
> HFS_I(inode)->first_blocks for the extent tree. If the extent records
> are zereod out, it won't trigger the first_blocks special case. Instead
> it falls through to the extent code which we're still in the middle
> of initializing.
>
> This patch catches the 0 size extent records, reports the corruption,
> and fails the mount.

Just for completeness - does the current fsck.hfs already know how to fix it, or
at least heave stuff over the side so the filesystem is self-consistent again?
Or will a user who hits this need a new fsck.hfs to get it back to mountable?

Attachment: pgp00000.pgp
Description: PGP signature