x86: strengthen 64-bit p?d_bad()
authorHugh Dickins <hugh@veritas.com>
Tue, 20 May 2008 12:59:47 +0000 (13:59 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 20 May 2008 15:14:45 +0000 (08:14 -0700)
commita8375bd81cf99cb81be37127eaf08316ecb87619
tree8a657fe7e1a4afc762c0dafab10cfa89006dadc6
parentcbb3077cbe718795d7ae5d78ed11659ca73c97b9
x86: strengthen 64-bit p?d_bad()

The x86_64 pgd_bad(), pud_bad(), pmd_bad() inlines have differed from
their x86_32 counterparts in a couple of ways: they've been unnecessarily
weak (e.g. letting 0 or 1 count as good), and were typed as unsigned long.
Strengthen them and return int.

The PAE pmd_bad was too weak before, allowing any junk in the upper half;
but got strengthened by the patch correcting its ~PAGE_MASK to ~PTE_MASK.
The PAE pud_bad already said ~PTE_MASK; and since it folds into pgd_bad,
and we don't set the protection bits at that level, it'll do as is.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-x86/pgtable_64.h