From: Eric Sandeen <sandeen@redhat.com>
To: Andreas Dilger <adilger@whamcloud.com>
Cc: "Ted Ts'o" <tytso@mit.edu>,
ext4 development <linux-ext4@vger.kernel.org>
Subject: [PATCH] libext2fs: copy cluster_bits in ext2fs_copy_generic_bmap
Date: Wed, 10 Aug 2011 14:07:41 -0500 [thread overview]
Message-ID: <4E42D6FD.2020904@redhat.com> (raw)
In-Reply-To: <418F4E42-50E6-4CAA-B6F5-CA59B17E84C0@whamcloud.com>
The f_lotsbad regression test was failing on some systems
with:
@@ -26,6 +61,7 @@
Restarting e2fsck from the beginning...
Pass 1: Checking inodes, blocks, and sizes
+Illegal block number passed to ext2fs_test_block_bitmap #0 for in-use block map
Pass 2: Checking directory structure
Entry 'termcap' in / (2) has deleted/unused inode 12. Clear? yes
Running with valgrind (./test_script --valgrind f_lotsbad) we
see:
+==31409== Conditional jump or move depends on uninitialised value(s)
+==31409== at 0x42927A: ext2fs_test_generic_bmap (gen_bitmap64.c:378)
among others.
Looking at gen_bitmap64.c:
376: arg >>= bitmap->cluster_bits;
377:
378: if ((arg < bitmap->start) || (arg > bitmap->end)) {
A little more debugging showed that it was actually
bitmap->cluster_bits which was uninitialized, because it never
gets copied over in ext2fs_copy_generic_bmap()
Patch below resolves the issue.
Reported-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---
diff --git a/lib/ext2fs/gen_bitmap64.c b/lib/ext2fs/gen_bitmap64.c
index f75876d..80c9f7a 100644
--- a/lib/ext2fs/gen_bitmap64.c
+++ b/lib/ext2fs/gen_bitmap64.c
@@ -193,6 +193,7 @@ errcode_t ext2fs_copy_generic_bmap(ext2fs_generic_bitmap src,
new_bmap->real_end = src->real_end;
new_bmap->bitmap_ops = src->bitmap_ops;
new_bmap->base_error_code = src->base_error_code;
+ new_bmap->cluster_bits = src->cluster_bits;
descr = src->description;
if (descr) {
next prev parent reply other threads:[~2011-08-10 19:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-17 6:28 Commit 94968e74 breaks f_lotsbad Andreas Dilger
2011-06-20 1:58 ` Ted Ts'o
2011-06-28 5:16 ` Andreas Dilger
2011-06-28 14:23 ` Ted Ts'o
2011-06-29 7:09 ` Andreas Dilger
2011-08-10 19:07 ` Eric Sandeen [this message]
2011-08-11 1:50 ` [PATCH] libext2fs: copy cluster_bits in ext2fs_copy_generic_bmap Ted Ts'o
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E42D6FD.2020904@redhat.com \
--to=sandeen@redhat.com \
--cc=adilger@whamcloud.com \
--cc=linux-ext4@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.