summaryrefslogtreecommitdiffstats
path: root/mm/memblock.c
diff options
context:
space:
mode:
authorPravin B Shelar2012-05-30 00:06:49 +0200
committerLinus Torvalds2012-05-30 01:22:24 +0200
commit5bf5f03c271907978489868a4c72aeb42b5127d2 (patch)
tree2d6b283fa5ee83b723fd4b4a8f070ae53c60ebe9 /mm/memblock.c
parentmm: fix faulty initialization in vmalloc_init() (diff)
downloadkernel-qcow2-linux-5bf5f03c271907978489868a4c72aeb42b5127d2.tar.gz
kernel-qcow2-linux-5bf5f03c271907978489868a4c72aeb42b5127d2.tar.xz
kernel-qcow2-linux-5bf5f03c271907978489868a4c72aeb42b5127d2.zip
mm: fix slab->page flags corruption
Transparent huge pages can change page->flags (PG_compound_lock) without taking Slab lock. Since THP can not break slab pages we can safely access compound page without taking compound lock. Specifically this patch fixes a race between compound_unlock() and slab functions which perform page-flags updates. This can occur when get_page()/put_page() is called on a page from slab. [akpm@linux-foundation.org: tweak comment text, fix comment layout, fix label indenting] Reported-by: Amey Bhide <abhide@nicira.com> Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Reviewed-by: Christoph Lameter <cl@linux.com> Acked-by: Andrea Arcangeli <aarcange@redhat.com> Cc: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memblock.c')
0 files changed, 0 insertions, 0 deletions