mm: vmscan: do not use page_count without a page pin
authorAndrea Arcangeli <aarcange@redhat.com>
Wed, 15 Jun 2011 22:08:51 +0000 (15:08 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Jun 2011 03:04:02 +0000 (20:04 -0700)
commitd179e84ba5da1d0024087d1759a2938817a00f3f
tree169c9cc4030a793df1bc29613eff85ee3acef9a9
parent7454f4ba40b419eb999a3c61a99da662bf1a2bb8
mm: vmscan: do not use page_count without a page pin

It is unsafe to run page_count during the physical pfn scan because
compound_head could trip on a dangling pointer when reading
page->first_page if the compound page is being freed by another CPU.

[mgorman@suse.de: split out patch]
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmscan.c