summaryrefslogtreecommitdiffstats
path: root/lib/checksum.c
diff options
context:
space:
mode:
authorJeff Mahoney <jeffm@suse.com>2009-10-26 16:49:56 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-10-29 07:39:29 -0700
commit47f365eb575735c6b2edf5d08e0d16d26a9c23bd (patch)
tree3a6cbb4a7e6bbb9365c8092541a04d3ea1f77ce6 /lib/checksum.c
parentcf6e693212263d33c5882e4653df89a2fca4c0c4 (diff)
downloadlinux-47f365eb575735c6b2edf5d08e0d16d26a9c23bd.tar.gz
linux-47f365eb575735c6b2edf5d08e0d16d26a9c23bd.tar.bz2
linux-47f365eb575735c6b2edf5d08e0d16d26a9c23bd.zip
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>
Diffstat (limited to 'lib/checksum.c')
0 files changed, 0 insertions, 0 deletions