1. 20 May, 2008 1 commit
    • Jeremy Fitzhardinge's avatar
      x86: define PTE_MASK in a universally useful way · 2bd3a99c
      Jeremy Fitzhardinge authored
      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: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Tested-by: default avatarHugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2bd3a99c
  2. 19 May, 2008 39 commits