mm: hugetlb: fix pgoff computation when unmapping page from vma
authorHillf Danton <dhillf@gmail.com>
Tue, 10 Jan 2012 23:08:19 +0000 (15:08 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 17 Oct 2012 02:49:46 +0000 (03:49 +0100)
commit003be05aed2f27a0ab5f5aadc90a68183f0c6e19
treebbba9e687cdc736cc8d97dd82a6305157edf893d
parentddd937a27bb51cda5a5400df8e18e9a29d7fa8ec
mm: hugetlb: fix pgoff computation when unmapping page from vma

commit 0c176d52b0b2619f231b2bbf329b90c028134f58 upstream.

The computation for pgoff is incorrect, at least with

(vma->vm_pgoff >> PAGE_SHIFT)

involved.  It is fixed with the available method if HPAGE_SIZE is
concerned in page cache lookup.

[akpm@linux-foundation.org: use vma_hugecache_offset() directly, per Michal]
Signed-off-by: Hillf Danton <dhillf@gmail.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Cc: Michal Hocko <mhocko@suse.cz>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
mm/hugetlb.c