diff options
Diffstat (limited to 'include/asm-s390/pgtable.h')
-rw-r--r-- | include/asm-s390/pgtable.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/asm-s390/pgtable.h b/include/asm-s390/pgtable.h index 8fe8d42e64c..0a307bb2f35 100644 --- a/include/asm-s390/pgtable.h +++ b/include/asm-s390/pgtable.h | |||
@@ -744,7 +744,12 @@ ptep_establish(struct vm_area_struct *vma, | |||
744 | } | 744 | } |
745 | 745 | ||
746 | #define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \ | 746 | #define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \ |
747 | ptep_establish(__vma, __address, __ptep, __entry) | 747 | ({ \ |
748 | int __changed = !pte_same(*(__ptep), __entry); \ | ||
749 | if (__changed) \ | ||
750 | ptep_establish(__vma, __address, __ptep, __entry); \ | ||
751 | __changed; \ | ||
752 | }) | ||
748 | 753 | ||
749 | /* | 754 | /* |
750 | * Test and clear dirty bit in storage key. | 755 | * Test and clear dirty bit in storage key. |