lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 11 Feb 2009 15:37:27 -0500
From:	Chuck Ebbert <cebbert@...hat.com>
To:	"Theodore Ts'o" <tytso@....edu>
Cc:	linux-ext4@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: Ext4 tree backports for 2.6.27.13 and 2.6.28.2

On Tue, 10 Feb 2009 18:36:02 -0500
Chuck Ebbert <cebbert@...hat.com> wrote:

> On Sat, 31 Jan 2009 00:25:39 -0500
> "Theodore Ts'o" <tytso@....edu> wrote:
> 
> > I've updated the ext4 backport branches on the ext4 git tree:
> > 
> >    git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git
> >    http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.git
> > 
> > The for-stable branch is branched off of 2.6.28.2, and has a candidate
> > set of patches to be included in the next stable release.  The
> > for-stable-2.6.27 branch is branched off of 2.6.27.13.  
> > 
> > I'm more confident with the 2.6.28 stable candidate than the 2.6.27
> > stable candidates at the moment, but given that we just missed the
> > 2.6.27.14 and 2.6.28.3 release cycles, that should give us plenty of
> > time to test the patches.
> > 
> 
> .27 has a bug and one patch got merged in .27.14...
> 
> > 
> > mainline 2.6.28  2.6.27
> >     commit-description
> > -------------------------------------------------------------------------
> > c894058d -----   71ae3e25
> >     ext4: Use an rbtree for tracking blocks freed during transaction.
> > 
> 
> The chunk that creates the ext4_free_block_extents cache is misapplied: it
> ended up at the end of ext4_mb_use_preallocated() instead of
> init_ext4_mballoc(). The null cache pointer then causes oopses when trying
> to delete files.
> 

Here's the fix for that:


Move init of the ext4_free_block_extents cache to the right place.
Original patch that misapplies this is at:
http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.git;a=commitdiff;h=71ae3e256af82b77100bd2e7392fd510aca0b8b9
"ext4: Use an rbtree for tracking blocks freed during transaction."

Signed-off-by: Chuck Ebbert <cebbert@...hat.com>

Index: linux-2.6.27.noarch/fs/ext4/mballoc.c
===================================================================
--- linux-2.6.27.noarch.orig/fs/ext4/mballoc.c
+++ linux-2.6.27.noarch/fs/ext4/mballoc.c
@@ -3060,6 +3060,16 @@ int __init init_ext4_mballoc(void)
 		kmem_cache_destroy(ext4_pspace_cachep);
 		return -ENOMEM;
 	}
+
+	ext4_free_ext_cachep =
+		kmem_cache_create("ext4_free_block_extents",
+				     sizeof(struct ext4_free_data),
+				     0, SLAB_RECLAIM_ACCOUNT, NULL);
+	if (ext4_free_ext_cachep == NULL) {
+		kmem_cache_destroy(ext4_pspace_cachep);
+		kmem_cache_destroy(ext4_ac_cachep);
+		return -ENOMEM;
+	}
 #ifdef CONFIG_PROC_FS
 	proc_root_ext4 = proc_mkdir("fs/ext4", NULL);
 	if (proc_root_ext4 == NULL)
@@ -3597,15 +3607,6 @@ ext4_mb_use_preallocated(struct ext4_all
 		return 1;
 	}
 
-	ext4_free_ext_cachep =
-		kmem_cache_create("ext4_free_block_extents",
-				     sizeof(struct ext4_free_data),
-				     0, SLAB_RECLAIM_ACCOUNT, NULL);
-	if (ext4_free_ext_cachep == NULL) {
-		kmem_cache_destroy(ext4_pspace_cachep);
-		kmem_cache_destroy(ext4_ac_cachep);
-		return -ENOMEM;
-	}
 	return 0;
 }
 
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ