Fix e2undo endian issues
This commit is contained in:
parent
14038a7ff6
commit
acca0241b0
@ -1,7 +1,7 @@
|
|||||||
Summary: Utilities for managing ext2, ext3, and ext4 filesystems
|
Summary: Utilities for managing ext2, ext3, and ext4 filesystems
|
||||||
Name: e2fsprogs
|
Name: e2fsprogs
|
||||||
Version: 1.43.1
|
Version: 1.43.1
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
|
|
||||||
# License tags based on COPYING file distinctions for various components
|
# License tags based on COPYING file distinctions for various components
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
@ -11,6 +11,7 @@ Source1: ext2_types-wrapper.h
|
|||||||
Source2: e2fsck.conf
|
Source2: e2fsck.conf
|
||||||
|
|
||||||
Patch1: e2fsprogs-1.40.4-sb_feature_check_ignore.patch
|
Patch1: e2fsprogs-1.40.4-sb_feature_check_ignore.patch
|
||||||
|
Patch2: e2undo-endian.patch
|
||||||
|
|
||||||
Url: http://e2fsprogs.sourceforge.net/
|
Url: http://e2fsprogs.sourceforge.net/
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
@ -151,6 +152,7 @@ It was originally inspired by the Multics SubSystem library.
|
|||||||
# mildly unsafe but 'til I get something better, avoid full fsck
|
# mildly unsafe but 'til I get something better, avoid full fsck
|
||||||
# after an selinux install...
|
# after an selinux install...
|
||||||
%patch1 -p1 -b .featurecheck
|
%patch1 -p1 -b .featurecheck
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
|
%configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
|
||||||
@ -332,6 +334,9 @@ exit 0
|
|||||||
%{_libdir}/pkgconfig/ss.pc
|
%{_libdir}/pkgconfig/ss.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jun 16 2016 Eric Sandeen <sandeen@redhat.com> 1.43.1-2
|
||||||
|
- Fix e2undo endian issues (#1344636)
|
||||||
|
|
||||||
* Wed Jun 08 2016 Eric Sandeen <sandeen@redhat.com> 1.43.1-1
|
* Wed Jun 08 2016 Eric Sandeen <sandeen@redhat.com> 1.43.1-1
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
||||||
|
62
e2undo-endian.patch
Normal file
62
e2undo-endian.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
[PATCH] e2undo: fix endian issues
|
||||||
|
|
||||||
|
Two new e2undo issues exist in the latest release on big endian
|
||||||
|
machines.
|
||||||
|
|
||||||
|
From sparse check:
|
||||||
|
|
||||||
|
undo_io.c:157:26: warning: invalid assignment: |=
|
||||||
|
undo_io.c:157:26: left side has type restricted __le32
|
||||||
|
undo_io.c:157:26: right side has type int
|
||||||
|
undo_io.c:161:26: warning: invalid assignment: &=
|
||||||
|
undo_io.c:161:26: left side has type restricted __le32
|
||||||
|
undo_io.c:161:26: right side has type int
|
||||||
|
|
||||||
|
e2undo.c:211:16: warning: cast to restricted __le64
|
||||||
|
e2undo.c:211:16: warning: cast from restricted blk64_t
|
||||||
|
e2undo.c:212:16: warning: cast to restricted __le64
|
||||||
|
e2undo.c:212:16: warning: cast from restricted blk64_t
|
||||||
|
|
||||||
|
Addresses-RedHat-Bugzilla: 1344636
|
||||||
|
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/lib/ext2fs/undo_io.c b/lib/ext2fs/undo_io.c
|
||||||
|
index f921218..776d5b8 100644
|
||||||
|
--- a/lib/ext2fs/undo_io.c
|
||||||
|
+++ b/lib/ext2fs/undo_io.c
|
||||||
|
@@ -154,11 +154,11 @@ struct undo_private_data {
|
||||||
|
#define E2UNDO_FEATURE_COMPAT_FS_OFFSET 0x1 /* the filesystem offset */
|
||||||
|
|
||||||
|
static inline void e2undo_set_feature_fs_offset(struct undo_header *header) {
|
||||||
|
- header->f_compat |= E2UNDO_FEATURE_COMPAT_FS_OFFSET;
|
||||||
|
+ header->f_compat |= ext2fs_le32_to_cpu(E2UNDO_FEATURE_COMPAT_FS_OFFSET);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void e2undo_clear_feature_fs_offset(struct undo_header *header) {
|
||||||
|
- header->f_compat &= ~E2UNDO_FEATURE_COMPAT_FS_OFFSET;
|
||||||
|
+ header->f_compat &= ~ext2fs_le32_to_cpu(E2UNDO_FEATURE_COMPAT_FS_OFFSET);
|
||||||
|
}
|
||||||
|
|
||||||
|
static io_manager undo_io_backing_manager;
|
||||||
|
diff --git a/misc/e2undo.c b/misc/e2undo.c
|
||||||
|
index a8cb000..6fb6e44 100644
|
||||||
|
--- a/misc/e2undo.c
|
||||||
|
+++ b/misc/e2undo.c
|
||||||
|
@@ -208,8 +208,7 @@ static int key_compare(const void *a, const void *b)
|
||||||
|
|
||||||
|
ka = a;
|
||||||
|
kb = b;
|
||||||
|
- return ext2fs_le64_to_cpu(ka->fsblk) -
|
||||||
|
- ext2fs_le64_to_cpu(kb->fsblk);
|
||||||
|
+ return ka->fsblk - kb->fsblk;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int e2undo_setup_tdb(const char *name, io_manager *io_ptr)
|
||||||
|
|
||||||
|
--
|
||||||
|
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
|
||||||
|
the body of a message to majordomo@vger.kernel.org
|
||||||
|
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user