From e35e7323ed30721f092e30f2e5dfdb42e9964c2d Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Tue, 8 Jul 2008 11:19:11 -0700 Subject: [PATCH] --- yaml --- r: 98781 b: refs/heads/master c: 90621ed829ac64eb25b4d1214e9a5155e5c67ff2 h: refs/heads/master i: 98779: 19ae1d2f6ed73428fa4ba77a231f0e20bd5a9c28 v: v3 --- [refs] | 2 +- trunk/include/asm-s390/pgtable.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c7a470df91b1..3c6090a252f9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: be305042b7a01a1ab03a8adfa95f57bc63e012e1 +refs/heads/master: 90621ed829ac64eb25b4d1214e9a5155e5c67ff2 diff --git a/trunk/include/asm-s390/pgtable.h b/trunk/include/asm-s390/pgtable.h index c7f4f8e3e297..bd0ea191dfa9 100644 --- a/trunk/include/asm-s390/pgtable.h +++ b/trunk/include/asm-s390/pgtable.h @@ -223,6 +223,9 @@ extern char empty_zero_page[PAGE_SIZE]; #define _PAGE_SPECIAL 0x004 /* SW associated with special page */ #define __HAVE_ARCH_PTE_SPECIAL +/* Set of bits not changed in pte_modify */ +#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_SPECIAL) + /* Six different types of pages. */ #define _PAGE_TYPE_EMPTY 0x400 #define _PAGE_TYPE_NONE 0x401 @@ -681,7 +684,7 @@ static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *pt */ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) { - pte_val(pte) &= PAGE_MASK; + pte_val(pte) &= _PAGE_CHG_MASK; pte_val(pte) |= pgprot_val(newprot); return pte; }