The patch titled paravirt: fix missing pte update has been added to the -mm tree. Its filename is paravirt-fix-missing-pte-update.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: paravirt: fix missing pte update From: Zachary Amsden <zach@xxxxxxxxxx> Signed-off-by: Zachary Amsden <zach@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxx> Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Cc: Chris Wright <chrisw@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/asm-i386/pgtable-2level.h | 3 +-- include/asm-i386/pgtable-3level.h | 3 +-- include/asm-i386/pgtable.h | 8 ++++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff -puN include/asm-i386/pgtable-2level.h~paravirt-fix-missing-pte-update include/asm-i386/pgtable-2level.h --- a/include/asm-i386/pgtable-2level.h~paravirt-fix-missing-pte-update +++ a/include/asm-i386/pgtable-2level.h @@ -22,8 +22,7 @@ #define pte_clear(mm,addr,xp) do { set_pte_at(mm, addr, xp, __pte(0)); } while (0) #define pmd_clear(xp) do { set_pmd(xp, __pmd(0)); } while (0) -#define __HAVE_ARCH_PTEP_GET_AND_CLEAR -#define ptep_get_and_clear(mm,addr,xp) __pte(xchg(&(xp)->pte_low, 0)) +#define raw_ptep_get_and_clear(xp) __pte(xchg(&(xp)->pte_low, 0)) #define pte_page(x) pfn_to_page(pte_pfn(x)) #define pte_none(x) (!(x).pte_low) diff -puN include/asm-i386/pgtable-3level.h~paravirt-fix-missing-pte-update include/asm-i386/pgtable-3level.h --- a/include/asm-i386/pgtable-3level.h~paravirt-fix-missing-pte-update +++ a/include/asm-i386/pgtable-3level.h @@ -119,8 +119,7 @@ static inline void pmd_clear(pmd_t *pmd) *(tmp + 1) = 0; } -#define __HAVE_ARCH_PTEP_GET_AND_CLEAR -static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) +static inline pte_t raw_ptep_get_and_clear(pte_t *ptep) { pte_t res; diff -puN include/asm-i386/pgtable.h~paravirt-fix-missing-pte-update include/asm-i386/pgtable.h --- a/include/asm-i386/pgtable.h~paravirt-fix-missing-pte-update +++ a/include/asm-i386/pgtable.h @@ -324,6 +324,14 @@ do { \ __young; \ }) +#define __HAVE_ARCH_PTEP_GET_AND_CLEAR +static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) +{ + pte_t pte = raw_ptep_get_and_clear(ptep); + pte_update(mm, addr, ptep); + return pte; +} + #define __HAVE_ARCH_PTEP_GET_AND_CLEAR_FULL static inline pte_t ptep_get_and_clear_full(struct mm_struct *mm, unsigned long addr, pte_t *ptep, int full) { _ Patches currently in -mm which might be from zach@xxxxxxxxxx are fix-potential-interrupts-during-alternative-patching-was.patch i386-pda-basic-definitions-for-i386-pda.patch i386-pda-initialize-the-per-cpu-data-area.patch i386-pda-use-%gs-as-the-pda-base-segment-in-the-kernel.patch i386-pda-fix-places-where-using-%gs-changes-the-usermode-abi.patch i386-pda-update-sys_vm86-to-cope-with-changed-pt_regs-and-%gs-usage.patch i386-pda-implement-smp_processor_id-with-the-pda.patch i386-pda-implement-current-with-the-pda.patch paravirt-skip-timer-works.patch paravirt-skip-timer-works-tidy.patch paravirt-interrupts-subarch-cleanup.patch paravirt-fix-missing-pte-update.patch paravirt-fix-bad-mmu-names.patch paravirt-mmu-header-movement.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html