linux/fs/hfs
Jeff Mahoney 47f365eb57 hfs: fix oops on mount with corrupted btree extent records
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.

Reported-by: Ramon de Carvalho Valle <rcvalle@linux.vnet.ibm.com>
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Cc: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-10-29 07:39:29 -07:00
..
attr.c
bfind.c
bitmap.c
bnode.c
brec.c
btree.c hfs: fix oops on mount with corrupted btree extent records 2009-10-29 07:39:29 -07:00
btree.h
catalog.c
dir.c
extent.c
hfs.h
hfs_fs.h constify dentry_operations: misc filesystems 2009-03-27 14:44:00 -04:00
inode.c hfs: fix memory leak when unmounting 2009-04-13 15:04:29 -07:00
Kconfig
Makefile
mdb.c fs: Make unload_nls() NULL pointer safe 2009-09-24 07:47:42 -04:00
part_tbl.c
string.c
super.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
sysdep.c constify dentry_operations: misc filesystems 2009-03-27 14:44:00 -04:00
trans.c