On Tue, 2007-07-17 at 20:40 -0500, Eric Sandeen wrote:
> Eric Sandeen wrote:
> ---------
> 
> set t->i_file_acl before we test it in 
> ext2fs_inode_data_blocks
> 
> Signed-off-by: Eric Sandeen <[EMAIL PROTECTED]>
> 
> Index: e2fsprogs-1.40.2/lib/ext2fs/swapfs.c
> ===================================================================
> --- e2fsprogs-1.40.2.orig/lib/ext2fs/swapfs.c
> +++ e2fsprogs-1.40.2/lib/ext2fs/swapfs.c
> @@ -150,6 +150,7 @@ void ext2fs_swap_inode_full(ext2_filsys 
>       t->i_dtime = ext2fs_swab32(f->i_dtime);
>       t->i_gid = ext2fs_swab16(f->i_gid);
>       t->i_links_count = ext2fs_swab16(f->i_links_count);
> +     t->i_file_acl = ext2fs_swab32(f->i_file_acl);
>       if (hostorder)
>               has_data_blocks = ext2fs_inode_data_blocks(fs, 
>                                          (struct ext2_inode *) f);
> @@ -158,7 +159,6 @@ void ext2fs_swap_inode_full(ext2_filsys 
>               has_data_blocks = ext2fs_inode_data_blocks(fs, 
>                                          (struct ext2_inode *) t);
>       t->i_flags = ext2fs_swab32(f->i_flags);
> -     t->i_file_acl = ext2fs_swab32(f->i_file_acl);
>       t->i_dir_acl = ext2fs_swab32(f->i_dir_acl);
>       if (!islnk || has_data_blocks ) {
> 
> 
>               for (i = 0; i < EXT2_N_BLOCKS; i++)

This means that on big-endian machines, t->i_file_acl was uninitialized
when it was being accessed here. This certainly seems to be the correct
fix for this.

Thanks,
Kalpak.

-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to