]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ext4: verify orphan file size is not too big
authorJan Kara <jack@suse.cz>
Tue, 9 Sep 2025 11:22:07 +0000 (13:22 +0200)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 26 Sep 2025 12:36:08 +0000 (08:36 -0400)
commit0a6ce20c156442a4ce2a404747bb0fb05d54eeb3
tree5d1bce5b6dbaf8f0fd44ecb566fbe7b0c019ada5
parent963845748fe67125006859229487b45485564db7
ext4: verify orphan file size is not too big

In principle orphan file can be arbitrarily large. However orphan replay
needs to traverse it all and we also pin all its buffers in memory. Thus
filesystems with absurdly large orphan files can lead to big amounts of
memory consumed. Limit orphan file size to a sane value and also use
kvmalloc() for allocating array of block descriptor structures to avoid
large order allocations for sane but large orphan files.

Reported-by: syzbot+0b92850d68d9b12934f5@syzkaller.appspotmail.com
Fixes: 02f310fcf47f ("ext4: Speedup ext4 orphan inode handling")
Cc: stable@kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Message-ID: <20250909112206.10459-2-jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/orphan.c