ext4: mballoc: fix possible NULL ptr & remove BUG_ONs from DOUBLE_CHECK
authorRitesh Harjani <riteshh@linux.ibm.com>
Sun, 10 May 2020 06:24:49 +0000 (11:54 +0530)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 4 Jun 2020 03:16:52 +0000 (23:16 -0400)
commiteb2b8ebb867fa895d5c4768310998bc940f6506c
tree79a7a2e2c068c0ea6d0097b4148c0bc0c0b173e9
parenta345021553f7e6343b05b1ad1c25ed931140b47c
ext4: mballoc: fix possible NULL ptr & remove BUG_ONs from DOUBLE_CHECK

Make sure to check for e4b->bd_info->bb_bitmap == NULL, in
mb_cmp_bitmaps() and return if NULL, to avoid possible NULL ptr
dereference. Similar to how we do this in other ifdef DOUBLE_CHECK
functions.

Also remove the BUG_ON() logic if kmalloc() or ext4_read_block_bitmap()
fails. We should simply mark grp->bb_bitmap as NULL if above happens.
In fact ext4_read_block_bitmap() may even return an error in case of resize
ioctl. Hence remove this BUG_ON logic (fstests ext4/032 may trigger
this).

Link: https://lore.kernel.org/r/9a54f8a696ff17c057cd571be3d15ac3ec1407f1.1589086800.git.riteshh@linux.ibm.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/mballoc.c