]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] powerpc: fix for hugepage areas straddling 4GB boundary
authorDavid Gibson <david@gibson.dropbear.id.au>
Wed, 23 Nov 2005 21:37:45 +0000 (13:37 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 24 Nov 2005 00:08:39 +0000 (16:08 -0800)
commit58d8ff459d220dcefa8089acbf24a185b52d9eff
tree9b262b96fff2f28e85a7e58c9cd69631655b781b
parenteaec922442465876899466428cd29d628d52dc83
[PATCH] powerpc: fix for hugepage areas straddling 4GB boundary

Commit f12d7296f309a492d16919507e1d1ef1cbd23ca1 fixed bugs in the ppc64 SLB
miss handler with respect to hugepage handling, and in the process tweaked
the semantics of the hugepage address masks in mm_context_t.

Unfortunately, it left out a couple of necessary changes to go with that
change.  First, the in_hugepage_area() macro was not updated to match,
second prepare_hugepage_range() was not updated to correctly handle
hugepages regions which straddled the 4GB point.

The latter appears only to cause process-hangs when attempting to map such
a region, but the former can cause oopses if a get_user_pages() is
triggered at the wrong point.  This patch addresses both bugs.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/powerpc/mm/hugetlbpage.c
include/asm-powerpc/page_64.h