Commit:     aa506dc7b12d03fbf8fd11aab752aed1aadd9c07
Parent:     d72b1b4f41b5159d2d0e54e54c794d500197572e
Author:     Jan Beulich <[EMAIL PROTECTED]>
AuthorDate: Wed Oct 17 18:04:33 2007 +0200
Committer:  Thomas Gleixner <[EMAIL PROTECTED]>
CommitDate: Wed Oct 17 20:15:28 2007 +0200

    i386: avoid temporarily inconsistent pte-s
    One more of these issues (which were considered fixed a few releases
    back): other than on x86-64, i386 allows set_fixmap() to replace
    already present mappings. Consequently, on PAE, care must be taken to
    not update the high half of a pte while the low half is still holding
    the old value.
    [ tglx: arch/x86 adaptation ]
    Signed-off-by: Jan Beulich <[EMAIL PROTECTED]>
    Signed-off-by: Andi Kleen <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
    Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
     arch/x86/mm/pgtable_32.c |    3 +--
     1 file changed, 1 insertion(+), 2 deletions(-)
 arch/x86/mm/pgtable_32.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/pgtable_32.c b/arch/x86/mm/pgtable_32.c
index ef1f6cd..bbaa2b1 100644
--- a/arch/x86/mm/pgtable_32.c
+++ b/arch/x86/mm/pgtable_32.c
@@ -97,8 +97,7 @@ static void set_pte_pfn(unsigned long vaddr, unsigned long 
pfn, pgprot_t flags)
        pte = pte_offset_kernel(pmd, vaddr);
        if (pgprot_val(flags))
-               /* <pfn,flags> stored as-is, to permit clearing entries */
-               set_pte(pte, pfn_pte(pfn, flags));
+               set_pte_present(&init_mm, vaddr, pte, pfn_pte(pfn, flags));
                pte_clear(&init_mm, vaddr, pte);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to