2006-11-16 22:27:49

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH] ext3: htree entry integrity checking

On Nov 16, 2006 11:50 -0500, Jeff Mahoney wrote:
> Currently, if a corrupted directory entry with rec_len=0 is encountered,
> we still trust that the data is valid. This can cause an infinite loop
> in htree_dirblock_to_tree() since the iteration loop will never make any
> progress.

Actually, I think Eric Sandeen was working on similar fixes already, and
instead of doing a per-item check each time we look at the entry it does
a full-block check the first time it is read (as ext2 does).

> This fixes the problem described at:
> http://projects.info-pull.com/mokb/MOKB-10-11-2006.html

Would also be good to CC linux-ext4, where the ext3 maintainers live.
Hmm, maybe we need to update MAINTAINERS with the new list address?

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.


2006-11-16 22:33:46

by Eric Sandeen

[permalink] [raw]
Subject: Re: [PATCH] ext3: htree entry integrity checking

Andreas Dilger wrote:
> On Nov 16, 2006 11:50 -0500, Jeff Mahoney wrote:
>> Currently, if a corrupted directory entry with rec_len=0 is encountered,
>> we still trust that the data is valid. This can cause an infinite loop
>> in htree_dirblock_to_tree() since the iteration loop will never make any
>> progress.
>
> Actually, I think Eric Sandeen was working on similar fixes already, and
> instead of doing a per-item check each time we look at the entry it does
> a full-block check the first time it is read (as ext2 does).
>
>> This fixes the problem described at:
>> http://projects.info-pull.com/mokb/MOKB-10-11-2006.html
>
> Would also be good to CC linux-ext4, where the ext3 maintainers live.
> Hmm, maybe we need to update MAINTAINERS with the new list address?

This should already be fixed, in some fashion, in -mm:

http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.19-rc5/2.6.19-rc5-mm2/broken-out/handle-ext3-directory-corruption-better.patch

I have been looking at doing a check only when the block is first read,
but other things have come up & taken some time, and that is a bit on
the back burner now...

-Eric

2006-11-17 00:27:05

by Jeff Mahoney

[permalink] [raw]
Subject: Re: [PATCH] ext3: htree entry integrity checking

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Andreas Dilger wrote:
> On Nov 16, 2006 11:50 -0500, Jeff Mahoney wrote:
>> Currently, if a corrupted directory entry with rec_len=0 is encountered,
>> we still trust that the data is valid. This can cause an infinite loop
>> in htree_dirblock_to_tree() since the iteration loop will never make any
>> progress.
>
> Actually, I think Eric Sandeen was working on similar fixes already, and
> instead of doing a per-item check each time we look at the entry it does
> a full-block check the first time it is read (as ext2 does).
>
>> This fixes the problem described at:
>> http://projects.info-pull.com/mokb/MOKB-10-11-2006.html
>
> Would also be good to CC linux-ext4, where the ext3 maintainers live.

Ok, thanks. If that's already in -mm, I'll use that one.

- -Jeff

- --
Jeff Mahoney
SUSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFFXQIwLPWxlyuTD7IRApH7AJ9+/SFmd9bf8E741wvxw/6vdrUrdwCeJNEG
eHZMo5RWUrLW5iDEqehjRlI=
=lGRM
-----END PGP SIGNATURE-----