aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-18 09:58:02 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-02-28 06:32:23 -0800
commit744dac7d299be82e4d13b217e81eb4bfee9826a8 (patch)
treee2c00d906bce1c616ceec7c1f6ba888e7b7627b8 /kernel
parentdbb694e810c87e7e1760527a783437f26ac5a547 (diff)
downloadkernel_samsung_smdk4412-744dac7d299be82e4d13b217e81eb4bfee9826a8.zip
kernel_samsung_smdk4412-744dac7d299be82e4d13b217e81eb4bfee9826a8.tar.gz
kernel_samsung_smdk4412-744dac7d299be82e4d13b217e81eb4bfee9826a8.tar.bz2
mm: fix pageblock bitmap allocation
commit 7c45512df987c5619db041b5c9b80d281e26d3db upstream. Commit c060f943d092 ("mm: use aligned zone start for pfn_to_bitidx calculation") fixed out calculation of the index into the pageblock bitmap when a !SPARSEMEM zome was not aligned to pageblock_nr_pages. However, the _allocation_ of that bitmap had never taken this alignment requirement into accout, so depending on the exact size and alignment of the zone, the use of that index could then access past the allocation, resulting in some very subtle memory corruption. This was reported (and bisected) by Ingo Molnar: one of his random config builds would hang with certain very specific kernel command line options. In the meantime, commit c060f943d092 has been marked for stable, so this fix needs to be back-ported to the stable kernels that backported the commit to use the right alignment. Bisected-and-tested-by: Ingo Molnar <mingo@kernel.org> Acked-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions