]> asedeno.scripts.mit.edu Git - linux.git/commit
ext4: fix ext4_empty_dir() for directories with holes
authorJan Kara <jack@suse.cz>
Mon, 2 Dec 2019 17:02:12 +0000 (18:02 +0100)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 14 Dec 2019 22:22:45 +0000 (17:22 -0500)
commit64d4ce892383b2ad6d782e080d25502f91bf2a38
tree2e9096fbc9fe9a449738ae48e395c51e3e7b9429
parentdfdeeb41fb08fbe11d3cfefba9c0fcd00c95a36d
ext4: fix ext4_empty_dir() for directories with holes

Function ext4_empty_dir() doesn't correctly handle directories with
holes and crashes on bh->b_data dereference when bh is NULL. Reorganize
the loop to use 'offset' variable all the times instead of comparing
pointers to current direntry with bh->b_data pointer. Also add more
strict checking of '.' and '..' directory entries to avoid entering loop
in possibly invalid state on corrupted filesystems.

References: CVE-2019-19037
CC: stable@vger.kernel.org
Fixes: 4e19d6b65fb4 ("ext4: allow directory holes")
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20191202170213.4761-2-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/namei.c