mm/slab: Fix crash during slab init
authorChris Mason <clmason@fusionio.com>
Wed, 8 May 2013 19:56:28 +0000 (15:56 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 May 2013 22:02:33 +0000 (15:02 -0700)
commit956e46efb2478ebff7a871138458fa8124fd18dd
tree296b3bed32dfa4bfb376d4abaedfc3aa1bbc5a1b
parentebb37277796269da36a8bc5d72ed1e8e1fb7d34b
mm/slab: Fix crash during slab init

Commit 8a965b3baa89 ("mm, slab_common: Fix bootstrap creation of kmalloc
caches") introduced a regression that caused us to crash early during
boot.  The commit was introducing ordering of slab creation, making sure
two odd-sized slabs were created after specific powers of two sizes.

But, if any of the power of two slabs were created earlier during boot,
slabs at index 1 or 2 might not get created at all.  This patch makes
sure none of the slabs get skipped.

Tony Lindgren bisected this down to the offending commit, which really
helped because bisect kept bringing me to almost but not quite this one.

Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Acked-by: Christoph Lameter <cl@linux.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Tested-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/slab_common.c