Loading fs/squashfs/super.c +16 −2 Original line number Diff line number Diff line Loading @@ -268,7 +268,7 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent) handle_fragments: fragments = le32_to_cpu(sblk->fragments); if (fragments == 0) goto allocate_root; goto check_directory_table; msblk->fragment_cache = squashfs_cache_init("fragment", SQUASHFS_CACHED_FRAGMENTS, msblk->block_size); Loading @@ -286,8 +286,22 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent) msblk->fragment_index = NULL; goto failed_mount; } next_table = msblk->fragment_index[0]; allocate_root: check_directory_table: /* Sanity check directory_table */ if (msblk->directory_table >= next_table) { err = -EINVAL; goto failed_mount; } /* Sanity check inode_table */ if (msblk->inode_table >= msblk->directory_table) { err = -EINVAL; goto failed_mount; } /* allocate root */ root = new_inode(sb); if (!root) { err = -ENOMEM; Loading Loading
fs/squashfs/super.c +16 −2 Original line number Diff line number Diff line Loading @@ -268,7 +268,7 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent) handle_fragments: fragments = le32_to_cpu(sblk->fragments); if (fragments == 0) goto allocate_root; goto check_directory_table; msblk->fragment_cache = squashfs_cache_init("fragment", SQUASHFS_CACHED_FRAGMENTS, msblk->block_size); Loading @@ -286,8 +286,22 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent) msblk->fragment_index = NULL; goto failed_mount; } next_table = msblk->fragment_index[0]; allocate_root: check_directory_table: /* Sanity check directory_table */ if (msblk->directory_table >= next_table) { err = -EINVAL; goto failed_mount; } /* Sanity check inode_table */ if (msblk->inode_table >= msblk->directory_table) { err = -EINVAL; goto failed_mount; } /* allocate root */ root = new_inode(sb); if (!root) { err = -ENOMEM; Loading