All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: resize2fs segfault
       [not found] <20160809214157.091c200a@schraegle.name>
@ 2016-08-10 20:01 ` Theodore Ts'o
  0 siblings, 0 replies; only message in thread
From: Theodore Ts'o @ 2016-08-10 20:01 UTC (permalink / raw)
  To: Andreas Schrägle; +Cc: linux-ext4

On Tue, Aug 09, 2016 at 09:41:57PM +0700, Andreas Schrägle wrote:
> 
> I seem to have run in a segmentation fault bug in resize2fs.
> 

Thanks for the bug report!  I found the problem and the patch will be
in the next version of e2fsprogs.  It should fairly simple to apply
this patch to e2fsprogs 1.43.1 and rebuild it.

Cheers,

						- Ted

commit 3d6fc974831a360aee460e54c442538445f3017c
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Wed Aug 10 15:49:35 2016 -0400

    resize2fs: fix crash when there is an ea block and no blocks to migrate
    
    This fixes a bug introduced in 1.43 by commit fb47b94fffc: "resize2fs:
    rewrite extent/dir/ea block checksums when migrating".  If there is an
    extended attribute block and there are no blocks that need to migrate,
    we will crash.
    
    The bug was caused by a botched De Morgan's transformation.
    
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>

diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index 09419ce..8f6d95e 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -1895,7 +1895,7 @@ static errcode_t migrate_ea_block(ext2_resize_t rfs, ext2_ino_t ino,
 	errcode_t err = 0;
 
 	/* No EA block or no remapping?  Quit early. */
-	if (ext2fs_file_acl_block(rfs->old_fs, inode) == 0 && !rfs->bmap)
+	if (ext2fs_file_acl_block(rfs->old_fs, inode) == 0 || !rfs->bmap)
 		return 0;
 	new_block = extent_translate(rfs->old_fs, rfs->bmap,
 		ext2fs_file_acl_block(rfs->old_fs, inode));

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-08-10 20:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20160809214157.091c200a@schraegle.name>
2016-08-10 20:01 ` resize2fs segfault Theodore Ts'o

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.