Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / fs / squashfs / super.c
index 970b1167e7cbda4e106abeb9e574da2726401906..29cd014ed3a17a776db73b4c1e492f44d78cba4e 100644 (file)
@@ -158,10 +158,15 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent)
                goto failed_mount;
        }
 
+       /* Check block log for sanity */
        msblk->block_log = le16_to_cpu(sblk->block_log);
        if (msblk->block_log > SQUASHFS_FILE_MAX_LOG)
                goto failed_mount;
 
+       /* Check that block_size and block_log match */
+       if (msblk->block_size != (1 << msblk->block_log))
+               goto failed_mount;
+
        /* Check the root inode for sanity */
        root_inode = le64_to_cpu(sblk->root_inode);
        if (SQUASHFS_INODE_OFFSET(root_inode) > SQUASHFS_METADATA_SIZE)