diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-05-20 07:26:17 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-20 14:51:20 (GMT) |
commit | 2bd3a99c9d1851182f73d0a024dc5bdb0a470e8c (patch) | |
tree | b6fae90c97de3abf7f68d47f98eee65f6b4bc174 /Kbuild | |
parent | 8033c6e9736c29cce5f0d0abbca9a44dffb20c39 (diff) | |
download | linux-2bd3a99c9d1851182f73d0a024dc5bdb0a470e8c.tar.xz |
x86: define PTE_MASK in a universally useful way
Define PTE_MASK so that it contains a meaningful value for all x86
pagetable configurations. Previously it was defined as a "long" which
means that it was too short to cover a 32-bit PAE pte entry.
It is now defined as a pteval_t, which is an integer type long enough
to contain a full pte (or pmd, pud, pgd).
This fixes an Xorg crash on 32-bit x86 with PAE due to corruption of the
NX bit in mprotect due to the incorrect type/value of PTE_MASK reported
by Hugh Dickins:
"Yes, thanks Jeremy: I've checked that each stage builds and runs X on
my boxes here, x86_32 and x86_32+PAE and x86_64. (So even 1/8 is
enough to fix the PAT pte_modify issue, though 2/8 then fixes
compiler warnings.)"
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Tested-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Kbuild')
0 files changed, 0 insertions, 0 deletions