diff options
| author | Jeff Mahoney <[email protected]> | 2009-10-26 16:49:56 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2009-10-29 07:39:29 -0700 |
| commit | 47f365eb575735c6b2edf5d08e0d16d26a9c23bd (patch) | |
| tree | 3a6cbb4a7e6bbb9365c8092541a04d3ea1f77ce6 /include/linux/timerqueue.h | |
| parent | cf6e693212263d33c5882e4653df89a2fca4c0c4 (diff) | |
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 <[email protected]>
Signed-off-by: Jeff Mahoney <[email protected]>
Cc: Valdis Kletnieks <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions