Re: [PATCH] ext4: catch integer overflow in ext4_cache_extents

Ritesh Harjani
2020-07-13T13:45:03Z

On 7/13/20 6:28 PM, Jan Kara wrote:
> From: Wolfgang Frisch <wolfgang.frisch@suse.com>
>
> When extent tree is corrupted we can hit BUG_ON in
> ext4_es_cache_extent(). Check for this and abort caching instead of
> crashing the machine.

Was it intentionally made corrupted by crafting a corrupted disk image?
Are there more such logic in place which checks for such corruption at
other places? Maybe a background over the issue which you saw may help.
Also how did it recover out of it?

Do you think it make sense to still emit a WARN_ON() here and then
return which warns that this could possibly a corrupted extent
entry? (maybe WARN_ON_ONCE() or via some ratelimiting if multiple extent
entries are corrupted for that inode).

-ritesh