summaryrefslogtreecommitdiff
path: root/fs/ext4/extents.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2016-08-11 15:12:05 -0700
committerDmitry Shmidt <dimitrysh@google.com>2016-08-11 15:12:05 -0700
commit1f369b24e2987c1b29c88ffcbd0ca99cddabe01c (patch)
tree9890a7ff909f71bc4f252f227ecb2532ace2d7fe /fs/ext4/extents.c
parentb558f17a13b10761eb6f838e713425b9e83f8a01 (diff)
parent133cec911c639d2cdf544ed602442951f702e08c (diff)
Merge tag 'v4.4.17' into android-4.4.y
This is the 4.4.17 stable release
Diffstat (limited to 'fs/ext4/extents.c')
-rw-r--r--fs/ext4/extents.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 3578b25fccfd..62880586ed85 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -469,6 +469,10 @@ static int __ext4_ext_check(const char *function, unsigned int line,
error_msg = "invalid extent entries";
goto corrupted;
}
+ if (unlikely(depth > 32)) {
+ error_msg = "too large eh_depth";
+ goto corrupted;
+ }
/* Verify checksum on non-root extent tree nodes */
if (ext_depth(inode) != depth &&
!ext4_extent_block_csum_verify(inode, eh)) {