diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-i386/pgtable.h | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/include/asm-i386/pgtable.h b/include/asm-i386/pgtable.h index 2394589786b..d62bdb029ef 100644 --- a/include/asm-i386/pgtable.h +++ b/include/asm-i386/pgtable.h | |||
@@ -295,22 +295,24 @@ do { \ | |||
295 | 295 | ||
296 | #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY | 296 | #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY |
297 | #define ptep_test_and_clear_dirty(vma, addr, ptep) ({ \ | 297 | #define ptep_test_and_clear_dirty(vma, addr, ptep) ({ \ |
298 | int ret = 0; \ | 298 | int __ret = 0; \ |
299 | if (pte_dirty(*ptep)) \ | 299 | if (pte_dirty(*(ptep))) \ |
300 | ret = test_and_clear_bit(_PAGE_BIT_DIRTY, &ptep->pte_low); \ | 300 | __ret = test_and_clear_bit(_PAGE_BIT_DIRTY, \ |
301 | if (ret) \ | 301 | &(ptep)->pte_low); \ |
302 | pte_update_defer(vma->vm_mm, addr, ptep); \ | 302 | if (__ret) \ |
303 | ret; \ | 303 | pte_update((vma)->vm_mm, addr, ptep); \ |
304 | __ret; \ | ||
304 | }) | 305 | }) |
305 | 306 | ||
306 | #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG | 307 | #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG |
307 | #define ptep_test_and_clear_young(vma, addr, ptep) ({ \ | 308 | #define ptep_test_and_clear_young(vma, addr, ptep) ({ \ |
308 | int ret = 0; \ | 309 | int __ret = 0; \ |
309 | if (pte_young(*ptep)) \ | 310 | if (pte_young(*(ptep))) \ |
310 | ret = test_and_clear_bit(_PAGE_BIT_ACCESSED, &ptep->pte_low); \ | 311 | __ret = test_and_clear_bit(_PAGE_BIT_ACCESSED, \ |
311 | if (ret) \ | 312 | &(ptep)->pte_low); \ |
312 | pte_update_defer(vma->vm_mm, addr, ptep); \ | 313 | if (__ret) \ |
313 | ret; \ | 314 | pte_update((vma)->vm_mm, addr, ptep); \ |
315 | __ret; \ | ||
314 | }) | 316 | }) |
315 | 317 | ||
316 | /* | 318 | /* |