Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
Browse files Browse the repository at this point in the history
* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:
  Squashfs: Fix sanity check patches on big-endian systems
  • Loading branch information
torvalds committed May 29, 2011
2 parents daa9422 + d5b72ce commit 2ff55e9
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion fs/squashfs/export.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ __le64 *squashfs_read_inode_lookup_table(struct super_block *sb,
* table[0] points to the first inode lookup table metadata block,
* this should be less than lookup_table_start
*/
if (!IS_ERR(table) && table[0] >= lookup_table_start) {
if (!IS_ERR(table) && le64_to_cpu(table[0]) >= lookup_table_start) {
kfree(table);
return ERR_PTR(-EINVAL);
}
Expand Down
2 changes: 1 addition & 1 deletion fs/squashfs/fragment.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ __le64 *squashfs_read_fragment_index_table(struct super_block *sb,
* table[0] points to the first fragment table metadata block, this
* should be less than fragment_table_start
*/
if (!IS_ERR(table) && table[0] >= fragment_table_start) {
if (!IS_ERR(table) && le64_to_cpu(table[0]) >= fragment_table_start) {
kfree(table);
return ERR_PTR(-EINVAL);
}
Expand Down
2 changes: 1 addition & 1 deletion fs/squashfs/id.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ __le64 *squashfs_read_id_index_table(struct super_block *sb,
* table[0] points to the first id lookup table metadata block, this
* should be less than id_table_start
*/
if (!IS_ERR(table) && table[0] >= id_table_start) {
if (!IS_ERR(table) && le64_to_cpu(table[0]) >= id_table_start) {
kfree(table);
return ERR_PTR(-EINVAL);
}
Expand Down
6 changes: 3 additions & 3 deletions fs/squashfs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent)
msblk->id_table = NULL;
goto failed_mount;
}
next_table = msblk->id_table[0];
next_table = le64_to_cpu(msblk->id_table[0]);

/* Handle inode lookup table */
lookup_table_start = le64_to_cpu(sblk->lookup_table_start);
Expand All @@ -261,7 +261,7 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent)
msblk->inode_lookup_table = NULL;
goto failed_mount;
}
next_table = msblk->inode_lookup_table[0];
next_table = le64_to_cpu(msblk->inode_lookup_table[0]);

sb->s_export_op = &squashfs_export_ops;

Expand All @@ -286,7 +286,7 @@ 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];
next_table = le64_to_cpu(msblk->fragment_index[0]);

check_directory_table:
/* Sanity check directory_table */
Expand Down

0 comments on commit 2ff55e9

Please sign in to comment.