android_kernel_xiaomi_sdm845/fs/ext4
Duane Griffin 71dc8fbcf5 ext4: handle deleting corrupted indirect blocks
While freeing indirect blocks we attach a journal head to the parent buffer
head, free the blocks, then journal the parent. If the indirect block list
is corrupted and points to the parent the journal head will be detached
when the block is cleared, causing an OOPS.

Check for that explicitly and handle it gracefully.

This patch fixes the third case (image hdb.20000057.nullderef.gz)
reported in http://bugzilla.kernel.org/show_bug.cgi?id=10882.

Signed-off-by: Duane Griffin <duaneg@dghda.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-07-11 19:27:31 -04:00
..
acl.c ext4: fix wrong gfp type under transaction 2008-04-29 22:02:02 -04:00
acl.h
balloc.c ext4: Fix uninit block group initialization with FLEX_BG 2008-06-03 14:07:29 -04:00
bitmap.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
dir.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
ext4_extents.h ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
ext4_i.h ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
ext4_jbd2.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
ext4_jbd2.h ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
ext4_sb.h ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
ext4.h ext4: handle corrupted orphan list at mount 2008-07-11 19:27:31 -04:00
extents.c ext4: update ctime and mtime for truncate with extents. 2008-04-29 22:00:41 -04:00
file.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
fsync.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
group.h ext4: add ext4_group_t, and change all group variables to this type. 2008-01-28 23:58:27 -05:00
hash.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
ialloc.c ext4: handle corrupted orphan list at mount 2008-07-11 19:27:31 -04:00
inode.c ext4: handle deleting corrupted indirect blocks 2008-07-11 19:27:31 -04:00
ioctl.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
Makefile ext4: Add multi block allocator for ext4 2008-01-29 00:19:52 -05:00
mballoc.c ext4: Fix use of uninitialized data with debug enabled. 2008-06-05 20:59:29 -04:00
mballoc.h ext4: Move mballoc headers/structures to a seperate header file mballoc.h 2008-04-29 22:01:31 -04:00
migrate.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
namei.c ext4: Fix update of mtime and ctime on rename 2008-04-29 22:02:11 -04:00
namei.h
resize.c Ext4: Fix online resize block group descriptor corruption 2008-06-20 11:48:48 -04:00
super.c ext4: add missing unlock to an error path in ext4_quota_write() 2008-07-04 10:40:05 -07:00
symlink.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
xattr_security.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
xattr_trusted.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
xattr_user.c ext4: move headers out of include/linux 2008-04-29 18:13:32 -04:00
xattr.c ext3/4: fix uninitialized bs in ext3/4_xattr_set_handle() 2008-05-14 19:11:14 -07:00
xattr.h ext4: make ext4_xattr_list() static 2008-04-17 10:38:59 -04:00