On Tue, 2007-07-10 at 12:39 -0700, Martin Bligh wrote: > Andrew Morton wrote: > > > > Begin forwarded message: > > > > Date: Tue, 10 Jul 2007 21:49:23 +0400 > > From: Alexey Dobriyan <adobriyan@xxxxxxxxx> > > To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > > Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx > > Subject: ext2 reservations (Re: -mm merge plans for 2.6.23) > > > > > >> ext2-reservations.patch > >> > >> Still needs decent testing. > > > > Was this oops silently fixed? > > http://lkml.org/lkml/2007/3/2/138 > > 2.6.21-rc2-mm1: EIP is at ext2_discard_reservation+0x1c/0x52 > > > > I still have that ext2 partition backed up. > > Now I'm confused - I thought there was a latent issue there, and > then we went back and revisited it, and we decided there wasn't ;-( Well, I looked at the problem now and here is the fix :) Greg, Please consider this for stable release also. Thanks, Badari ext2 reservation fix - Alexey Dobriyan reported ext2 discard reservation panic while ago (http://lkml.org/lkml/2007/3/2/138). If ext2_new_inode() fails for any reason it would end up calling ext2_discard_reservation() (due to last iput). Normally, it does nothing since we don't have a reservation window structure allocated. But the NULL pointer check wouldn't work with slab poisioning, and causes oops. Fix is to initialize i_block_alloc_info to NULL in ext2_alloc_inode() code instead of assuming that it would be NULL. Same fix already exists in ext3 and ext4. Signed-off-by: Badari Pulavarty <pbadari@xxxxxxxxxx> fs/ext2/super.c | 1 + 1 file changed, 1 insertion(+) Index: linux-2.6.22/fs/ext2/super.c =================================================================== --- linux-2.6.22.orig/fs/ext2/super.c 2007-07-08 16:32:17.000000000 -0700 +++ linux-2.6.22/fs/ext2/super.c 2007-07-10 16:36:42.000000000 -0700 @@ -147,6 +147,7 @@ static struct inode *ext2_alloc_inode(st ei->i_acl = EXT2_ACL_NOT_CACHED; ei->i_default_acl = EXT2_ACL_NOT_CACHED; #endif + ei->i_block_alloc_info = NULL; ei->vfs_inode.i_version = 1; return &ei->vfs_inode; } - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html