linux/fs/hfsplus
Jeff Mahoney ee52716245 hfsplus: 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
HFSPLUS_I(inode)->first_blocks for the extent tree. If the extent records
are zereod out, then it won't trigger the first_blocks special case and
instead falls through to the extent code, which we're in the middle
of initializing.

This patch catches the 0 size extent records, reports the corruption,
and fails the mount.

[hch: ported of commit 47f365eb57 from hfs]

Reported-by: Ramon de Carvalho Valle <rcvalle@linux.vnet.ibm.com>
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Christoph Hellwig <hch@tuxera.com>
2010-10-14 09:53:37 -04:00
..
bfind.c hfsplus: convert tree_lock to mutex 2010-10-01 05:46:52 +02:00
bitmap.c hfsplus: fix HFSPLUS_SB calling convention 2010-10-01 05:42:59 +02:00
bnode.c [PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc 2006-09-27 08:26:10 -07:00
brec.c [PATCH] hfs: cleanup HFS+ prints 2006-01-18 19:20:22 -08:00
btree.c hfsplus: fix oops on mount with corrupted btree extent records 2010-10-14 09:53:37 -04:00
catalog.c hfsplus: fix HFSPLUS_I calling convention 2010-10-01 05:43:31 +02:00
dir.c hfsplus: fix rename over directories 2010-10-01 09:12:08 +02:00
extents.c hfsplus: add missing extent locking in hfsplus_write_inode 2010-10-01 05:46:31 +02:00
hfsplus_fs.h hfsplus: convert tree_lock to mutex 2010-10-01 05:46:52 +02:00
hfsplus_raw.h [PATCH] extend the set of "__attribute__" shortcut macros 2007-02-11 10:51:35 -08:00
inode.c hfsplus: remove the rsrc_inodes list 2010-10-01 05:44:02 +02:00
ioctl.c hfsplus: fix HFSPLUS_I calling convention 2010-10-01 05:43:31 +02:00
Kconfig fs/Kconfig: move hfs, hfsplus out 2009-01-22 13:15:57 +03:00
Makefile
options.c hfsplus: use atomic bitops for the superblock flags 2010-10-01 05:45:20 +02:00
part_tbl.c hfsplus: fix HFSPLUS_SB calling convention 2010-10-01 05:42:59 +02:00
super.c hfsplus: use atomic bitops for the superblock flags 2010-10-01 05:45:20 +02:00
tables.c
unicode.c hfsplus: use atomic bitops for the superblock flags 2010-10-01 05:45:20 +02:00
wrapper.c hfsplus: use atomic bitops for the superblock flags 2010-10-01 05:45:20 +02:00