From 95bee9b79084636cd1a7f418c856e051fd41f818 Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Tue, 1 Jan 2008 22:23:16 +0000 Subject: [PATCH] * Tue Jan 01 2008 Eric Sandeen 1.40.4-1 - New upstream version, drop several now-upstream patches. --- e2fsprogs-1.38-etcblkid.patch | 6 +- e2fsprogs-1.39-mkinstalldirs.patch | 6 +- ...kid-FAT-magic-not-on-strict-position.patch | 35 -- e2fsprogs-1.40.2-blkid-squashfs.patch | 25 -- e2fsprogs-1.40.2-fix-open-create-modes.patch | 13 - e2fsprogs-1.40.2-integer-overflows.patch | 322 ------------------ e2fsprogs-1.40.2-swapfs.patch | 35 -- e2fsprogs-1.40.2-warning-fixes.patch | 22 -- e2fsprogs.spec | 25 +- 9 files changed, 11 insertions(+), 478 deletions(-) delete mode 100644 e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch delete mode 100644 e2fsprogs-1.40.2-blkid-squashfs.patch delete mode 100644 e2fsprogs-1.40.2-fix-open-create-modes.patch delete mode 100644 e2fsprogs-1.40.2-integer-overflows.patch delete mode 100644 e2fsprogs-1.40.2-swapfs.patch delete mode 100644 e2fsprogs-1.40.2-warning-fixes.patch diff --git a/e2fsprogs-1.38-etcblkid.patch b/e2fsprogs-1.38-etcblkid.patch index cc2e227..d1585ca 100644 --- a/e2fsprogs-1.38-etcblkid.patch +++ b/e2fsprogs-1.38-etcblkid.patch @@ -40,15 +40,15 @@ If not specified it will be the same file as that given by the --- e2fsprogs-1.38/misc/blkid.c.etcblkid 2006-03-08 15:02:39.000000000 -0500 +++ e2fsprogs-1.38/misc/blkid.c 2006-03-08 15:04:19.000000000 -0500 -@@ -39,7 +39,7 @@ +@@ -40,7 +40,7 @@ static void usage(int error) fprintf(out, - "usage:\t%s [-c ] [-hl] [-o format] " + "usage:\t%s [-c ] [-ghl] [-o format] " "[-s ] [-t ]\n [-v] [-w ] [dev ...]\n" - "\t-c\tcache file (default: /etc/blkid.tab, /dev/null = none)\n" + "\t-c\tcache file (default: /etc/blkid/blkid.tab, /dev/null = none)\n" "\t-h\tprint this usage message and exit\n" + "\t-g\tgarbage collect the blkid cache\n" "\t-s\tshow specified tag(s) (default show all tags)\n" - "\t-t\tfind device with a specific token (NAME=value pair)\n" --- e2fsprogs-1.38/lib/blkid/Makefile.in.etcblkid 2006-03-08 15:04:56.000000000 -0500 +++ e2fsprogs-1.38/lib/blkid/Makefile.in 2006-03-08 15:05:59.000000000 -0500 @@ -129,9 +129,10 @@ diff --git a/e2fsprogs-1.39-mkinstalldirs.patch b/e2fsprogs-1.39-mkinstalldirs.patch index 2e53c89..d0741e6 100644 --- a/e2fsprogs-1.39-mkinstalldirs.patch +++ b/e2fsprogs-1.39-mkinstalldirs.patch @@ -89,13 +89,13 @@ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ --- e2fsprogs-1.39/misc/Makefile.in.mkinstalldirs 2006-12-25 23:04:27.000000000 +0100 +++ e2fsprogs-1.39/misc/Makefile.in 2006-12-25 23:04:27.000000000 +0100 -@@ -223,8 +223,8 @@ +@@ -246,8 +246,8 @@ filefrag.8: $(DEP_SUBSTITUTE) $(srcdir)/ @$(SUBSTITUTE_UPTIME) $(srcdir)/filefrag.8.in filefrag.8 installdirs: -- @echo " MKINSTALLDIRS $(sbindir) $(root_sbindir) $(bindir) $(man1dir) $(man8dir) $(libdir)" +- @echo " MKINSTALLDIRS $(sbindir) $(root_sbindir) $(bindir) $(man1dir) $(man8dir) $(libdir) $(root_sysconfdir)" - @$(MKINSTALLDIRS) $(DESTDIR)$(sbindir) \ -+ @echo " MKDIR_P $(sbindir) $(root_sbindir) $(bindir) $(man1dir) $(man8dir) $(libdir)" ++ @echo " MKDIR_P $(sbindir) $(root_sbindir) $(bindir) $(man1dir) $(man8dir) $(libdir) $(root_sysconfdir)" + @$(MKDIR_P) $(DESTDIR)$(sbindir) \ $(DESTDIR)$(root_sbindir) $(DESTDIR)$(bindir) \ $(DESTDIR)$(man1dir) $(DESTDIR)$(man8dir) \ diff --git a/e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch b/e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch deleted file mode 100644 index da1bb3d..0000000 --- a/e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Theodore Ts'o -Date: Sun, 23 Sep 2007 13:50:11 +0000 (-0400) -Subject: libblkid: Add more magic numbers that might mean there is a FAT filesystem -X-Git-Url: http://git.kernel.org/?p=fs%2Fext2%2Fe2fsprogs.git;a=commitdiff_plain;h=846be6db813895c354cc54beaa8fa6aba8d98085 - -libblkid: Add more magic numbers that might mean there is a FAT filesystem - -The FAT filesystem doesn't have its superblock with a set of magic -strings in a fixed location. Therefore, we must also check for the -FAT filesystem if it looks like we have an MBR at the beginning of the -partition. We previously checked if the first byte was a jump -instruction but that missed some USB disks with only one bootable -partition. Now we check for the MBR signature (0x55AA at offset 510) -as well as any partition where byte 0 is \351 or \353. - -Signed-off-by: Karel Zak -Signed-off-by: "Theodore Ts'o" ---- - -diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c -index 69a43b0..5c20127 100644 ---- a/lib/blkid/probe.c -+++ b/lib/blkid/probe.c -@@ -846,8 +846,9 @@ static struct blkid_magic type_array[] = { - { "vfat", 0, 0x36, 5, "MSDOS", probe_fat }, - { "vfat", 0, 0x36, 8, "FAT16 ", probe_fat }, - { "vfat", 0, 0x36, 8, "FAT12 ", probe_fat }, -- { "vfat", 0, 0, 2, "\353\220", probe_fat_nomagic }, -+ { "vfat", 0, 0, 1, "\353", probe_fat_nomagic }, - { "vfat", 0, 0, 1, "\351", probe_fat_nomagic }, -+ { "vfat", 0, 0x1fe, 2, "\125\252", probe_fat_nomagic }, - { "minix", 1, 0x10, 2, "\177\023", 0 }, - { "minix", 1, 0x10, 2, "\217\023", 0 }, - { "minix", 1, 0x10, 2, "\150\044", 0 }, - diff --git a/e2fsprogs-1.40.2-blkid-squashfs.patch b/e2fsprogs-1.40.2-blkid-squashfs.patch deleted file mode 100644 index 792c062..0000000 --- a/e2fsprogs-1.40.2-blkid-squashfs.patch +++ /dev/null @@ -1,25 +0,0 @@ -Sent to linux-ext4 list on 25 Sep 2007. - -libblkid: recognize squashfs filesystems - -squashfs has no uuid or labels, so all we need is the magic. - -Addresses-Red-Hat-Bugzilla: #305151 - -Signed-off-by: Eric Sandeen - -Index: e2fsprogs-1.40.2/lib/blkid/probe.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/blkid/probe.c -+++ e2fsprogs-1.40.2/lib/blkid/probe.c -@@ -898,6 +898,8 @@ static struct blkid_magic type_array[] = - { "ocfs2", 4, 0, 6, "OCFSV2", probe_ocfs2 }, - { "ocfs2", 8, 0, 6, "OCFSV2", probe_ocfs2 }, - { "crypt_LUKS", 0, 0, 6, "LUKS\xba\xbe", probe_luks }, -+ { "squashfs", 0, 0, 4, "sqsh", 0 }, -+ { "squashfs", 0, 0, 4, "hsqs", 0 }, - { NULL, 0, 0, 0, NULL, NULL } - }; - - - diff --git a/e2fsprogs-1.40.2-fix-open-create-modes.patch b/e2fsprogs-1.40.2-fix-open-create-modes.patch deleted file mode 100644 index 5c47dcf..0000000 --- a/e2fsprogs-1.40.2-fix-open-create-modes.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: e2fsprogs-1.40.2/lib/ext2fs/ismounted.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/ismounted.c -+++ e2fsprogs-1.40.2/lib/ext2fs/ismounted.c -@@ -147,7 +147,7 @@ static errcode_t check_mntent_file(const - is_root: - #define TEST_FILE "/.ismount-test-file" - *mount_flags |= EXT2_MF_ISROOT; -- fd = open(TEST_FILE, O_RDWR|O_CREAT); -+ fd = open(TEST_FILE, O_RDWR|O_CREAT, 0644); - if (fd < 0) { - if (errno == EROFS) - *mount_flags |= EXT2_MF_READONLY; diff --git a/e2fsprogs-1.40.2-integer-overflows.patch b/e2fsprogs-1.40.2-integer-overflows.patch deleted file mode 100644 index 053c9e2..0000000 --- a/e2fsprogs-1.40.2-integer-overflows.patch +++ /dev/null @@ -1,322 +0,0 @@ -From ee01079a17bfecd17292ccd60058056fb3a8ba6c Mon Sep 17 00:00:00 2001 -From: Theodore Ts'o -Date: Fri, 9 Nov 2007 19:01:06 -0500 -Subject: [PATCH] libext2fs: Add checks to prevent integer overflows passed to malloc() - -This addresses a potential security vulnerability where an untrusted -filesystem can be corrupted in such a way that a program using -libext2fs will allocate a buffer which is far too small. This can -lead to either a crash or potentially a heap-based buffer overflow -crash. No known exploits exist, but main concern is where an -untrusted user who possesses privileged access in a guest Xen -environment could corrupt a filesystem which is then accessed by the -pygrub program, running as root in the dom0 host environment, thus -allowing the untrusted user to gain privileged access in the host OS. - -Thanks to the McAfee AVERT Research group for reporting this issue. - -Addresses CVE-2007-5497. - -Signed-off-by: Rafal Wojtczuk -Signed-off-by: "Theodore Ts'o" ---- - lib/ext2fs/badblocks.c | 2 +- - lib/ext2fs/bb_inode.c | 2 +- - lib/ext2fs/block.c | 2 +- - lib/ext2fs/bmap.c | 2 +- - lib/ext2fs/bmove.c | 2 +- - lib/ext2fs/brel_ma.c | 3 ++- - lib/ext2fs/closefs.c | 3 +-- - lib/ext2fs/dblist.c | 3 ++- - lib/ext2fs/dupfs.c | 2 +- - lib/ext2fs/ext2fs.h | 7 +++++++ - lib/ext2fs/fileio.c | 2 +- - lib/ext2fs/icount.c | 3 ++- - lib/ext2fs/initialize.c | 2 +- - lib/ext2fs/inode.c | 10 +++++----- - lib/ext2fs/irel_ma.c | 12 ++++++++---- - lib/ext2fs/openfs.c | 2 +- - lib/ext2fs/res_gdt.c | 2 +- - 17 files changed, 37 insertions(+), 24 deletions(-) - -Index: e2fsprogs-1.40.2/lib/ext2fs/badblocks.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/badblocks.c -+++ e2fsprogs-1.40.2/lib/ext2fs/badblocks.c -@@ -42,7 +42,7 @@ static errcode_t make_u32_list(int size, - bb->magic = EXT2_ET_MAGIC_BADBLOCKS_LIST; - bb->size = size ? size : 10; - bb->num = num; -- retval = ext2fs_get_mem(bb->size * sizeof(blk_t), &bb->list); -+ retval = ext2fs_get_array(bb->size, sizeof(blk_t), &bb->list); - if (retval) { - ext2fs_free_mem(&bb); - return retval; -Index: e2fsprogs-1.40.2/lib/ext2fs/bb_inode.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/bb_inode.c -+++ e2fsprogs-1.40.2/lib/ext2fs/bb_inode.c -@@ -68,7 +68,7 @@ errcode_t ext2fs_update_bb_inode(ext2_fi - rec.bad_block_count = 0; - rec.ind_blocks_size = rec.ind_blocks_ptr = 0; - rec.max_ind_blocks = 10; -- retval = ext2fs_get_mem(rec.max_ind_blocks * sizeof(blk_t), -+ retval = ext2fs_get_array(rec.max_ind_blocks, sizeof(blk_t), - &rec.ind_blocks); - if (retval) - return retval; -Index: e2fsprogs-1.40.2/lib/ext2fs/block.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/block.c -+++ e2fsprogs-1.40.2/lib/ext2fs/block.c -@@ -313,7 +313,7 @@ errcode_t ext2fs_block_iterate2(ext2_fil - if (block_buf) { - ctx.ind_buf = block_buf; - } else { -- retval = ext2fs_get_mem(fs->blocksize * 3, &ctx.ind_buf); -+ retval = ext2fs_get_array(3, fs->blocksize, &ctx.ind_buf); - if (retval) - return retval; - } -Index: e2fsprogs-1.40.2/lib/ext2fs/bmap.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/bmap.c -+++ e2fsprogs-1.40.2/lib/ext2fs/bmap.c -@@ -158,7 +158,7 @@ errcode_t ext2fs_bmap(ext2_filsys fs, ex - addr_per_block = (blk_t) fs->blocksize >> 2; - - if (!block_buf) { -- retval = ext2fs_get_mem(fs->blocksize * 2, &buf); -+ retval = ext2fs_get_array(2, fs->blocksize, &buf); - if (retval) - return retval; - block_buf = buf; -Index: e2fsprogs-1.40.2/lib/ext2fs/bmove.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/bmove.c -+++ e2fsprogs-1.40.2/lib/ext2fs/bmove.c -@@ -108,7 +108,7 @@ errcode_t ext2fs_move_blocks(ext2_filsys - pb.alloc_map = alloc_map ? alloc_map : fs->block_map; - pb.flags = flags; - -- retval = ext2fs_get_mem(fs->blocksize * 4, &block_buf); -+ retval = ext2fs_get_array(4, fs->blocksize, &block_buf); - if (retval) - return retval; - pb.buf = block_buf + fs->blocksize * 3; -Index: e2fsprogs-1.40.2/lib/ext2fs/brel_ma.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/brel_ma.c -+++ e2fsprogs-1.40.2/lib/ext2fs/brel_ma.c -@@ -75,7 +75,8 @@ errcode_t ext2fs_brel_memarray_create(ch - - size = (size_t) (sizeof(struct ext2_block_relocate_entry) * - (max_block+1)); -- retval = ext2fs_get_mem(size, &ma->entries); -+ retval = ext2fs_get_array(max_block+1, -+ sizeof(struct ext2_block_relocate_entry), &ma->entries); - if (retval) - goto errout; - memset(ma->entries, 0, size); -Index: e2fsprogs-1.40.2/lib/ext2fs/closefs.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/closefs.c -+++ e2fsprogs-1.40.2/lib/ext2fs/closefs.c -@@ -226,8 +226,7 @@ errcode_t ext2fs_flush(ext2_filsys fs) - retval = ext2fs_get_mem(SUPERBLOCK_SIZE, &super_shadow); - if (retval) - goto errout; -- retval = ext2fs_get_mem((size_t)(fs->blocksize * -- fs->desc_blocks), -+ retval = ext2fs_get_array(fs->blocksize, fs->desc_blocks, - &group_shadow); - if (retval) - goto errout; -Index: e2fsprogs-1.40.2/lib/ext2fs/dblist.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/dblist.c -+++ e2fsprogs-1.40.2/lib/ext2fs/dblist.c -@@ -85,7 +85,8 @@ static errcode_t make_dblist(ext2_filsys - } - len = (size_t) sizeof(struct ext2_db_entry) * dblist->size; - dblist->count = count; -- retval = ext2fs_get_mem(len, &dblist->list); -+ retval = ext2fs_get_array(dblist->size, sizeof(struct ext2_db_entry), -+ &dblist->list); - if (retval) - goto cleanup; - -Index: e2fsprogs-1.40.2/lib/ext2fs/dupfs.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/dupfs.c -+++ e2fsprogs-1.40.2/lib/ext2fs/dupfs.c -@@ -59,7 +59,7 @@ errcode_t ext2fs_dup_handle(ext2_filsys - goto errout; - memcpy(fs->orig_super, src->orig_super, SUPERBLOCK_SIZE); - -- retval = ext2fs_get_mem((size_t) fs->desc_blocks * fs->blocksize, -+ retval = ext2fs_get_array(fs->desc_blocks, fs->blocksize, - &fs->group_desc); - if (retval) - goto errout; -Index: e2fsprogs-1.40.2/lib/ext2fs/ext2fs.h -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/ext2fs.h -+++ e2fsprogs-1.40.2/lib/ext2fs/ext2fs.h -@@ -965,6 +965,7 @@ extern errcode_t ext2fs_write_bb_FILE(ex - - /* inline functions */ - extern errcode_t ext2fs_get_mem(unsigned long size, void *ptr); -+extern errcode_t ext2fs_get_array(unsigned long count, unsigned long size, void *ptr); - extern errcode_t ext2fs_free_mem(void *ptr); - extern errcode_t ext2fs_resize_mem(unsigned long old_size, - unsigned long size, void *ptr); -@@ -1018,6 +1019,12 @@ _INLINE_ errcode_t ext2fs_get_mem(unsign - memcpy(ptr, &pp, sizeof (pp)); - return 0; - } -+_INLINE_ errcode_t ext2fs_get_array(unsigned long count, unsigned long size, void *ptr) -+{ -+ if (count && (-1UL)/countblocksize * 3, &file->buf); -+ retval = ext2fs_get_array(3, fs->blocksize, &file->buf); - if (retval) - goto fail; - -Index: e2fsprogs-1.40.2/lib/ext2fs/icount.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/icount.c -+++ e2fsprogs-1.40.2/lib/ext2fs/icount.c -@@ -237,7 +237,8 @@ errcode_t ext2fs_create_icount2(ext2_fil - printf("Icount allocated %u entries, %d bytes.\n", - icount->size, bytes); - #endif -- retval = ext2fs_get_mem(bytes, &icount->list); -+ retval = ext2fs_get_array(icount->size, sizeof(struct ext2_icount_el), -+ &icount->list); - if (retval) - goto errout; - memset(icount->list, 0, bytes); -Index: e2fsprogs-1.40.2/lib/ext2fs/initialize.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/initialize.c -+++ e2fsprogs-1.40.2/lib/ext2fs/initialize.c -@@ -349,7 +349,7 @@ ipg_retry: - - ext2fs_free_mem(&buf); - -- retval = ext2fs_get_mem((size_t) fs->desc_blocks * fs->blocksize, -+ retval = ext2fs_get_array(fs->desc_blocks, fs->blocksize, - &fs->group_desc); - if (retval) - goto cleanup; -Index: e2fsprogs-1.40.2/lib/ext2fs/inode.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/inode.c -+++ e2fsprogs-1.40.2/lib/ext2fs/inode.c -@@ -90,9 +90,9 @@ static errcode_t create_icache(ext2_fils - fs->icache->cache_last = -1; - fs->icache->cache_size = 4; - fs->icache->refcount = 1; -- retval = ext2fs_get_mem(sizeof(struct ext2_inode_cache_ent) -- * fs->icache->cache_size, -- &fs->icache->cache); -+ retval = ext2fs_get_array(fs->icache->cache_size, -+ sizeof(struct ext2_inode_cache_ent), -+ &fs->icache->cache); - if (retval) { - ext2fs_free_mem(&fs->icache->buffer); - ext2fs_free_mem(&fs->icache); -@@ -146,8 +146,8 @@ errcode_t ext2fs_open_inode_scan(ext2_fi - group_desc[scan->current_group].bg_inode_table; - scan->inodes_left = EXT2_INODES_PER_GROUP(scan->fs->super); - scan->blocks_left = scan->fs->inode_blocks_per_group; -- retval = ext2fs_get_mem((size_t) (scan->inode_buffer_blocks * -- fs->blocksize), -+ retval = ext2fs_get_array(scan->inode_buffer_blocks, -+ fs->blocksize, - &scan->inode_buffer); - scan->done_group = 0; - scan->done_group_data = 0; -Index: e2fsprogs-1.40.2/lib/ext2fs/irel_ma.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/irel_ma.c -+++ e2fsprogs-1.40.2/lib/ext2fs/irel_ma.c -@@ -90,21 +90,24 @@ errcode_t ext2fs_irel_memarray_create(ch - irel->priv_data = ma; - - size = (size_t) (sizeof(ext2_ino_t) * (max_inode+1)); -- retval = ext2fs_get_mem(size, &ma->orig_map); -+ retval = ext2fs_get_array(max_inode+1, sizeof(ext2_ino_t), -+ &ma->orig_map); - if (retval) - goto errout; - memset(ma->orig_map, 0, size); - - size = (size_t) (sizeof(struct ext2_inode_relocate_entry) * - (max_inode+1)); -- retval = ext2fs_get_mem(size, &ma->entries); -+ retval = ext2fs_get_array((max_inode+1, -+ sizeof(struct ext2_inode_relocate_entry), &ma->entries); - if (retval) - goto errout; - memset(ma->entries, 0, size); - - size = (size_t) (sizeof(struct inode_reference_entry) * - (max_inode+1)); -- retval = ext2fs_get_mem(size, &ma->ref_entries); -+ retval = ext2fs_get_mem(max_inode+1, -+ sizeof(struct inode_reference_entry), &ma->ref_entries); - if (retval) - goto errout; - memset(ma->ref_entries, 0, size); -@@ -249,7 +252,8 @@ static errcode_t ima_add_ref(ext2_irel i - if (ref_ent->refs == 0) { - size = (size_t) ((sizeof(struct ext2_inode_reference) * - ent->max_refs)); -- retval = ext2fs_get_mem(size, &ref_ent->refs); -+ retval = ext2fs_get_array(ent->max_refs, -+ sizeof(struct ext2_inode_reference), &ref_ent->refs); - if (retval) - return retval; - memset(ref_ent->refs, 0, size); -Index: e2fsprogs-1.40.2/lib/ext2fs/openfs.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/openfs.c -+++ e2fsprogs-1.40.2/lib/ext2fs/openfs.c -@@ -276,7 +276,7 @@ errcode_t ext2fs_open2(const char *name, - blocks_per_group); - fs->desc_blocks = ext2fs_div_ceil(fs->group_desc_count, - EXT2_DESC_PER_BLOCK(fs->super)); -- retval = ext2fs_get_mem(fs->desc_blocks * fs->blocksize, -+ retval = ext2fs_get_array(fs->desc_blocks, fs->blocksize, - &fs->group_desc); - if (retval) - goto cleanup; -Index: e2fsprogs-1.40.2/lib/ext2fs/res_gdt.c -=================================================================== ---- e2fsprogs-1.40.2.orig/lib/ext2fs/res_gdt.c -+++ e2fsprogs-1.40.2/lib/ext2fs/res_gdt.c -@@ -73,7 +73,7 @@ errcode_t ext2fs_create_resize_inode(ext - - sb = fs->super; - -- retval = ext2fs_get_mem(2 * fs->blocksize, &dindir_buf); -+ retval = ext2fs_get_array(2, fs->blocksize, &dindir_buf); - if (retval) - goto out_free; - gdt_buf = (__u32 *)((char *)dindir_buf + fs->blocksize); diff --git a/e2fsprogs-1.40.2-swapfs.patch b/e2fsprogs-1.40.2-swapfs.patch deleted file mode 100644 index 2dd4e9d..0000000 --- a/e2fsprogs-1.40.2-swapfs.patch +++ /dev/null @@ -1,35 +0,0 @@ -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-1.40.2-warning-fixes.patch b/e2fsprogs-1.40.2-warning-fixes.patch deleted file mode 100644 index 23fddf5..0000000 --- a/e2fsprogs-1.40.2-warning-fixes.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: e2fsprogs-1.40.2/misc/badblocks.c -=================================================================== ---- e2fsprogs-1.40.2.orig/misc/badblocks.c -+++ e2fsprogs-1.40.2/misc/badblocks.c -@@ -992,7 +992,7 @@ int main (int argc, char ** argv) - last_block = strtoul (argv[optind], &tmp, 0); - printf("last_block = %d (%s)\n", last_block, argv[optind]); - if (*tmp || errno || -- (last_block == ULONG_MAX && errno == ERANGE)) { -+ (last_block == UINT_MAX && errno == ERANGE)) { - com_err (program_name, 0, _("invalid blocks count - %s"), - argv[optind]); - exit (1); -@@ -1005,7 +1005,7 @@ int main (int argc, char ** argv) - from_count = strtoul (argv[optind], &tmp, 0); - printf("from_count = %d\n", from_count); - if (*tmp || errno || -- (from_count == ULONG_MAX && errno == ERANGE)) { -+ (from_count == UINT_MAX && errno == ERANGE)) { - com_err (program_name, 0, _("invalid starting block - %s"), - argv[optind]); - exit (1); diff --git a/e2fsprogs.spec b/e2fsprogs.spec index a1306f1..45c2cfd 100644 --- a/e2fsprogs.spec +++ b/e2fsprogs.spec @@ -3,8 +3,8 @@ Summary: Utilities for managing the second and third extended (ext2/ext3) filesystems Name: e2fsprogs -Version: 1.40.2 -Release: 15%{?dist} +Version: 1.40.4 +Release: 1%{?dist} # License based on upstream-modified COPYING file, # which clearly states "V2" intent. License: GPLv2 @@ -15,12 +15,6 @@ Source2: blkid_types-wrapper.h Patch34: e2fsprogs-1.39-blkid-devmapper.patch Patch36: e2fsprogs-1.38-etcblkid.patch Patch62: e2fsprogs-1.39-mkinstalldirs.patch -Patch63: e2fsprogs-1.40.2-warning-fixes.patch -Patch64: e2fsprogs-1.40.2-swapfs.patch -Patch65: e2fsprogs-1.40.2-fix-open-create-modes.patch -Patch67: e2fsprogs-1.40.2-blkid-FAT-magic-not-on-strict-position.patch -Patch68: e2fsprogs-1.40.2-blkid-squashfs.patch -Patch69: e2fsprogs-1.40.2-integer-overflows.patch Url: http://e2fsprogs.sourceforge.net/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -86,18 +80,6 @@ also want to install e2fsprogs. %patch36 -p1 -b .etcblkid # Fix for newer autoconf (#220715) %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 -# fix one open("foo", O_CREAT) caller with no mode -%patch65 -p1 -b .creatmode -# fix fat probe when there is a real MBR -%patch67 -p1 -b .blkid-fat -# detect squashfs in libblkid (#305151) -%patch68 -p1 -b .blkid-squashfs -# prevent integer overflows (#414591 / CVE-2007-5497) -%patch69 -p1 -b .overflows %build aclocal @@ -258,6 +240,9 @@ exit 0 %{_mandir}/man3/uuid_unparse.3* %changelog +* Tue Jan 01 2008 Eric Sandeen 1.40.4-1 +- New upstream version, drop several now-upstream patches. + * Tue Jan 01 2008 Eric Sandeen 1.40.2-15 - Drop resize_inode removal patch from tune2fs; ostensibly was for old kernels which could not mount, but seems to be fine.