diff options
| author | Theodore Ts'o <tytso@mit.edu> | 2016-07-05 20:01:52 -0400 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-12-31 01:44:58 +0100 |
| commit | b7e52c7a982fe106c039f54907443b926c7f224c (patch) | |
| tree | f177973baef8ac4a7d1745880720ec50b16b1387 /kernel/debug | |
| parent | cbe7359580f5f9007a3b5690b5794795a117049d (diff) | |
ext4: validate s_reserved_gdt_blocks on mount
If s_reserved_gdt_blocks is extremely large, it's possible for
ext4_init_block_bitmap(), which is called when ext4 sets up an
uninitialized block bitmap, to corrupt random kernel memory. Add the
same checks which e2fsck has --- it must never be larger than
blocksize / sizeof(__u32) --- and then add a backup check in
ext4_init_block_bitmap() in case the superblock gets modified after
the file system is mounted.
Reported-by: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@vger.kernel.org
[@nathanchance: fixed conflicts]
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Joe Maples <joe@frap129.org>
Diffstat (limited to 'kernel/debug')
0 files changed, 0 insertions, 0 deletions
