1
linux/fs/ext4
Eric Sandeen 42007efd56 ext4: check s_log_groups_per_flex in online resize code
If groups_per_flex < 2, sbi->s_flex_groups[] doesn't get filled out,
and every other access to this first tests s_log_groups_per_flex;
same thing needs to happen in resize or we'll wander off into
a null pointer when doing an online resize of the file system.

Thanks to Christoph Biedl, who came up with the trivial testcase:

# truncate --size 128M fsfile
# mkfs.ext3 -F fsfile
# tune2fs -O extents,uninit_bg,dir_index,flex_bg,huge_file,dir_nlink,extra_isize fsfile
# e2fsck -yDf -C0 fsfile
# truncate --size 132M fsfile
# losetup /dev/loop0 fsfile
# mount /dev/loop0 mnt
# resize2fs -p /dev/loop0

	https://bugzilla.kernel.org/show_bug.cgi?id=13549

Reported-by: Alessandro Polverini <alex@nibbles.it>
Test-case-by: Christoph Biedl  <bugzilla.kernel.bpeb@manchmal.in-ulm.de>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2010-05-16 01:00:00 -04:00
..
acl.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
acl.h
balloc.c ext4: consolidate in_range() definitions 2010-03-03 23:55:01 -05:00
bitmap.c
block_validity.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dir.c ext4: fix up rb_root initializations to use RB_ROOT 2010-03-04 22:25:21 -05:00
ext4_extents.h ext4: Calculate metadata requirements more accurately 2010-01-01 02:41:30 -05:00
ext4_jbd2.c ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode 2010-02-16 15:06:29 -05:00
ext4_jbd2.h ext4: use ext4_get_block_write in buffer write 2010-03-04 16:14:02 -05:00
ext4.h Merge branch 'write_inode2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-03-05 11:53:53 -08:00
extents.c ext4: fix memory leaks in error path handling of ext4_ext_zeroout() 2010-05-12 00:00:00 -04:00
file.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2010-03-05 13:20:53 -08:00
fsync.c ext4: check missed return value in ext4_sync_file() 2010-05-10 00:00:00 -04:00
hash.c
ialloc.c ext4: Fixed inode allocator to correctly track a flex_bg's used_dirs 2010-03-23 21:32:00 -04:00
inode.c ext4: fix quota accounting in case of fallocate 2010-05-16 00:00:00 -04:00
ioctl.c ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode 2010-05-15 00:00:00 -04:00
Kconfig ext4: Don't ask about supporting ext2/3 in ext4 if ext4 is not configured 2009-12-21 10:54:09 -05:00
Makefile
mballoc.c ext4: rename ext4_mb_release_desc() to ext4_mb_unload_buddy() 2010-05-14 00:00:00 -04:00
mballoc.h ext4: consolidate in_range() definitions 2010-03-03 23:55:01 -05:00
migrate.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
move_extent.c ext4: Fix coding style in fs/ext4/move_extent.c 2010-05-11 00:00:00 -04:00
namei.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2010-03-05 13:20:53 -08:00
resize.c ext4: check s_log_groups_per_flex in online resize code 2010-05-16 01:00:00 -04:00
super.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 2010-03-25 14:10:53 -07:00
symlink.c
xattr_security.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
xattr_trusted.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
xattr_user.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
xattr.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2010-03-05 13:20:53 -08:00
xattr.h