From 1ac029d8927d1ac889e6ce0ef89c7cb35629f37b Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Wed, 18 Jul 2007 16:48:31 +0000 Subject: [PATCH] * Wed Jul 18 2007 Eric Sandeen 1.40.2-2 - Fix bug in ext2fs_swap_inode_full() on big-endian boxes --- e2fsprogs-1.40.2-swapfs.patch | 35 +++++++++++++++++++++++++++++++++++ e2fsprogs.spec | 8 +++++++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 e2fsprogs-1.40.2-swapfs.patch diff --git a/e2fsprogs-1.40.2-swapfs.patch b/e2fsprogs-1.40.2-swapfs.patch new file mode 100644 index 0000000..2dd4e9d --- /dev/null +++ b/e2fsprogs-1.40.2-swapfs.patch @@ -0,0 +1,35 @@ +From db9097caca17401313c0dc840b4ae683e5b5c1df Mon Sep 17 00:00:00 2001 +From: Eric Sandeen +Date: Tue, 17 Jul 2007 20:40:25 -0500 +Subject: [PATCH] Fix big-endian byte-swapping bug in ext2fs_swap_inode_full() + +We need to set t->i_file_acl before we test it in +ext2fs_inode_data_blocks() + +Signed-off-by: Eric Sandeen +Signed-off-by: "Theodore Ts'o" +--- + lib/ext2fs/swapfs.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/lib/ext2fs/swapfs.c b/lib/ext2fs/swapfs.c +index a40caa9..6576c59 100644 +--- a/lib/ext2fs/swapfs.c ++++ b/lib/ext2fs/swapfs.c +@@ -150,6 +150,7 @@ void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t, + 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 fs, struct ext2_inode_large *t, + 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++) + diff --git a/e2fsprogs.spec b/e2fsprogs.spec index c3c332c..62e72bd 100644 --- a/e2fsprogs.spec +++ b/e2fsprogs.spec @@ -4,7 +4,7 @@ Summary: Utilities for managing the second and third extended (ext2/ext3) filesystems Name: e2fsprogs Version: 1.40.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL Group: System Environment/Base Source: ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/e2fsprogs-%{version}.tar.gz @@ -15,6 +15,7 @@ Patch36: e2fsprogs-1.38-etcblkid.patch Patch39: e2fsprogs-1.39-multilib.patch Patch62: e2fsprogs-1.39-mkinstalldirs.patch Patch63: e2fsprogs-1.40.2-warning-fixes.patch +Patch64: e2fsprogs-1.40.2-swapfs.patch Url: http://e2fsprogs.sourceforge.net/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: e2fsprogs-libs = %{version}-%{release}, device-mapper @@ -77,6 +78,8 @@ also want to install e2fsprogs. %patch62 -p1 -b .mkinstalldirs # Fix type warning in badblocks %patch63 -p1 -b .warnings +# Fix ext2fs_swap_inode_full() on bigendian boxes +%patch64 -p1 -b .swapfs %build aclocal autoconf @@ -227,6 +230,9 @@ exit 0 %{_mandir}/man3/uuid_unparse.3* %changelog +* Wed Jul 18 2007 Eric Sandeen 1.40.2-2 +- Fix bug in ext2fs_swap_inode_full() on big-endian boxes + * Tue Jul 17 2007 Eric Sandeen 1.40.2-1 - New version 1.40.2 - Fix up warning in badblocks