diff options
author | Pravin B Shelar <pshelar@nicira.com> | 2012-05-30 00:06:49 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-30 01:22:24 +0200 |
commit | 5bf5f03c271907978489868a4c72aeb42b5127d2 (patch) | |
tree | 2d6b283fa5ee83b723fd4b4a8f070ae53c60ebe9 /drivers/scsi | |
parent | mm: fix faulty initialization in vmalloc_init() (diff) | |
download | linux-5bf5f03c271907978489868a4c72aeb42b5127d2.tar.xz 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 'drivers/scsi')
0 files changed, 0 insertions, 0 deletions