* Sat Jan 23 2010 Eric Sandeen <sandeen@redhat.com> 1.41.9-9

- Fix up stray output & re-enable make check
- Fix dlopen issues for newer libreadline
- Fix access beyond end of array in resize2fs
This commit is contained in:
Eric Sandeen 2010-01-26 04:38:37 +00:00
parent 6f43980907
commit 40b7ab1832
4 changed files with 152 additions and 3 deletions

View File

@ -0,0 +1,52 @@
commit 06ef971be505678ee462ae1844204ed24f14aedc
Author: Theodore Ts'o <tytso@mit.edu>
Date: Thu Nov 12 17:54:45 2009 -0500
libss: initialize function pointer for readline_shutdown()
Clear the function pointer for readline_shutdown() so that if libss is
linking against a readline library which doesn't supply a
readline_shutdown() function, ss_delete_invocation() won't seg fault.
Thanks to Solar Designer <solar@openwall.com> for reporting this
problem to me.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
libss: add newer libreadline to dlopen path
Rawhide now has libreadline.so.6 ... add it to the ever-expanding
list of libs to look for.
Unfortunately without commit 06ef971be505678ee462ae1844204ed24f14aedc
this fails in a rather cryptic way.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---
Index: e2fsprogs-1.41.9/lib/ss/invocation.c
===================================================================
--- e2fsprogs-1.41.9.orig/lib/ss/invocation.c
+++ e2fsprogs-1.41.9/lib/ss/invocation.c
@@ -71,6 +71,7 @@ int ss_create_invocation(subsystem_name,
*(new_table->rqt_tables+1) = (ss_request_table *) NULL;
new_table->readline_handle = 0;
+ new_table->readline_shutdown = 0;
new_table->readline = 0;
new_table->add_history = 0;
new_table->redisplay = 0;
Index: e2fsprogs-1.41.9/lib/ss/get_readline.c
===================================================================
--- e2fsprogs-1.41.9.orig/lib/ss/get_readline.c
+++ e2fsprogs-1.41.9/lib/ss/get_readline.c
@@ -36,7 +36,7 @@ static void ss_release_readline(ss_data
}
/* Libraries we will try to use for readline/editline functionality */
-#define DEFAULT_LIBPATH "libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so"
+#define DEFAULT_LIBPATH "libreadline.so.6:libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so"
void ss_get_readline(int sci_idx)
{

View File

@ -0,0 +1,38 @@
Index: e2fsprogs-1.41.9/resize/resize2fs.c
===================================================================
--- e2fsprogs-1.41.9.orig/resize/resize2fs.c
+++ e2fsprogs-1.41.9/resize/resize2fs.c
@@ -1818,9 +1818,6 @@ static errcode_t ext2fs_calculate_summar
fs->group_desc[group].bg_free_blocks_count =
group_free;
ext2fs_group_desc_csum_set(fs, group);
- group++;
- count = 0;
- group_free = 0;
uninit = (fs->group_desc[group].bg_flags &
EXT2_BG_BLOCK_UNINIT);
ext2fs_super_and_bgd_loc(fs, group, &super_blk,
@@ -1832,6 +1829,9 @@ static errcode_t ext2fs_calculate_summar
else
old_desc_blocks = fs->desc_blocks +
fs->super->s_reserved_gdt_blocks;
+ group++;
+ count = 0;
+ group_free = 0;
}
}
fs->super->s_free_blocks_count = total_free;
@@ -1858,11 +1858,11 @@ static errcode_t ext2fs_calculate_summar
fs->group_desc[group].bg_free_inodes_count =
group_free;
ext2fs_group_desc_csum_set(fs, group);
+ uninit = (fs->group_desc[group].bg_flags &
+ EXT2_BG_INODE_UNINIT);
group++;
count = 0;
group_free = 0;
- uninit = (fs->group_desc[group].bg_flags &
- EXT2_BG_INODE_UNINIT);
}
}
fs->super->s_free_inodes_count = total_free;

View File

@ -0,0 +1,48 @@
mkfsing a plain file would lead to a warning about being unable
to determine geometry; we should just skip the topology-getting
if we see that we have a regular file.
This was breaking "make check" but I had missed it since I
inadvertently stopped running the checks during the Fedora
RPM build.
Also, add a newline to the warning.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---
diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index 94b4c81..81b34ab 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -47,6 +47,7 @@ extern int optind;
#endif
#include <sys/ioctl.h>
#include <sys/types.h>
+#include <sys/stat.h>
#include <libgen.h>
#include <limits.h>
#include <blkid/blkid.h>
@@ -1035,6 +1036,11 @@ static int ext2fs_get_device_geometry(const char *file,
blkid_topology tp;
unsigned long min_io;
unsigned long opt_io;
+ struct stat statbuf;
+
+ /* Nothing to do for a regular file */
+ if (!stat(file, &statbuf) && S_ISREG(statbuf.st_mode))
+ return 0;
pr = blkid_new_probe_from_filename(file);
if (!pr)
@@ -1630,7 +1636,7 @@ got_size:
retval = ext2fs_get_device_geometry(device_name, &fs_param);
if (retval < 0) {
fprintf(stderr,
- _("warning: Unable to get device geometry for %s"),
+ _("warning: Unable to get device geometry for %s\n"),
device_name);
} else if (retval) {
printf(_("%s alignment is offset by %lu bytes.\n"),

View File

@ -4,7 +4,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.41.9 Version: 1.41.9
Release: 8%{?dist} Release: 9%{?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
@ -18,6 +18,9 @@ Patch5: e2fsprogs-1.41.9-24hr-fsck-grace.patch
Patch6: e2fsprogs-1.41.9-topology.patch Patch6: e2fsprogs-1.41.9-topology.patch
Patch7: e2fsprogs-1.41.9-trim.patch Patch7: e2fsprogs-1.41.9-trim.patch
Patch8: e4fsprogs-1.41.9-s_jnl_blocks-swap.patch Patch8: e4fsprogs-1.41.9-s_jnl_blocks-swap.patch
Patch9: e2fsprogs-1.41.9-topology-quiet.patch
Patch10: e2fsprogs-1.41.9-resize-array.patch
Patch11: e2fsprogs-1.41.9-dlopen-fix.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)
@ -148,11 +151,14 @@ It was originally inspired by the Multics SubSystem library.
%patch6 -p1 -b .topo %patch6 -p1 -b .topo
%patch7 -p1 -b .trim %patch7 -p1 -b .trim
%patch8 -p1 -b .journalblocks %patch8 -p1 -b .journalblocks
%patch9 -p1 -b .topo2
%patch10 -p1 -b .resize2
%patch11 -p1 -b .dlopen
%build %build
%configure --enable-elf-shlibs --enable-nls --disable-uuidd --disable-fsck \ %configure --enable-elf-shlibs --enable-nls --disable-uuidd --disable-fsck \
--disable-e2initrd-helper --disable-libblkid --disable-libuuid --disable-e2initrd-helper --disable-libblkid --disable-libuuid
make %{?_smp_mflags} V=1 make %{?_smp_mflags}
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
@ -175,7 +181,7 @@ chmod +w %{buildroot}%{_libdir}/*.a
%find_lang %{name} %find_lang %{name}
%check %check
# make check make check
%clean %clean
rm -rf %{buildroot} rm -rf %{buildroot}
@ -311,6 +317,11 @@ exit 0
%{_libdir}/pkgconfig/ss.pc %{_libdir}/pkgconfig/ss.pc
%changelog %changelog
* Sat Jan 23 2010 Eric Sandeen <sandeen@redhat.com> 1.41.9-9
- Fix up stray output & re-enable make check
- Fix dlopen issues for newer libreadline
- Fix access beyond end of array in resize2fs
* Tue Nov 10 2009 Eric Sandeen <sandeen@redhat.com> 1.41.9-8 * Tue Nov 10 2009 Eric Sandeen <sandeen@redhat.com> 1.41.9-8
- Fix up topology patch to build w/ new util-linux-ng - Fix up topology patch to build w/ new util-linux-ng
- Fix endian swapping of backup journal blocks in sb - Fix endian swapping of backup journal blocks in sb