--- 2.6.10-rc3-cl/include/asm-i386/pgtable-3level.h 2004-12-05 14:01:11.000000000 +0000 +++ linux/include/asm-i386/pgtable-3level.h 2004-12-09 13:17:44.000000000 +0000 @@ -147,7 +147,7 @@ static inline pmd_t pfn_pmd(unsigned lon static inline int ptep_cmpxchg(struct vm_area_struct *vma, unsigned long address, pte_t *ptep, pte_t oldval, pte_t newval) { - return cmpxchg((unsigned int *)ptep, pte_val(oldval), pte_val(newval)) == pte_val(oldval); + return cmpxchg8b((unsigned long long *)ptep, pte_val(oldval), pte_val(newval)) == pte_val(oldval); }