mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-10-24 14:11:14 +00:00
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> |
||
|---|---|---|
| .. | ||
| attr.c | ||
| bfind.c | ||
| bitmap.c | ||
| bnode.c | ||
| brec.c | ||
| btree.c | ||
| btree.h | ||
| catalog.c | ||
| dir.c | ||
| extent.c | ||
| hfs_fs.h | ||
| hfs.h | ||
| inode.c | ||
| Kconfig | ||
| Makefile | ||
| mdb.c | ||
| part_tbl.c | ||
| string.c | ||
| super.c | ||
| sysdep.c | ||
| trans.c | ||