summaryrefslogtreecommitdiff
path: root/fs/ext4/extents.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2016-08-11 12:15:55 +0800
committerAlex Shi <alex.shi@linaro.org>2016-08-11 12:15:55 +0800
commite01035c1a71d7cceebc3df92f79577df7438523a (patch)
treef745442c513b343e0a5d8fc84c4c0eb6603ec7b2 /fs/ext4/extents.c
parentda9a92f0cde9ce34a930d7edcaef30429e41d14a (diff)
parent3d27bcb804a6889e8f16daf95751764907f1e100 (diff)
Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
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)) {