powerpc/mm: don't use _PAGE_EXEC in book3s/32
book3s/32 doesn't define _PAGE_EXEC, so no need to use it. All other platforms define _PAGE_EXEC so no need to check it is not NUL when not book3s/32. Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
c766ee7223
commit
d81e6f8b7c
@@ -234,7 +234,7 @@ static inline void __ptep_set_access_flags(struct vm_area_struct *vma,
|
|||||||
int psize)
|
int psize)
|
||||||
{
|
{
|
||||||
unsigned long set = pte_val(entry) &
|
unsigned long set = pte_val(entry) &
|
||||||
(_PAGE_DIRTY | _PAGE_ACCESSED | _PAGE_RW | _PAGE_EXEC);
|
(_PAGE_DIRTY | _PAGE_ACCESSED | _PAGE_RW);
|
||||||
unsigned long clr = ~pte_val(entry) & _PAGE_RO;
|
unsigned long clr = ~pte_val(entry) & _PAGE_RO;
|
||||||
|
|
||||||
pte_update(ptep, clr, set);
|
pte_update(ptep, clr, set);
|
||||||
|
@@ -73,7 +73,7 @@ static struct page *maybe_pte_to_page(pte_t pte)
|
|||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_PPC_STD_MMU) || _PAGE_EXEC == 0
|
#ifdef CONFIG_PPC_BOOK3S
|
||||||
|
|
||||||
/* Server-style MMU handles coherency when hashing if HW exec permission
|
/* Server-style MMU handles coherency when hashing if HW exec permission
|
||||||
* is supposed per page (currently 64-bit only). If not, then, we always
|
* is supposed per page (currently 64-bit only). If not, then, we always
|
||||||
@@ -106,7 +106,7 @@ static pte_t set_access_flags_filter(pte_t pte, struct vm_area_struct *vma,
|
|||||||
return pte;
|
return pte;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* defined(CONFIG_PPC_STD_MMU) || _PAGE_EXEC == 0 */
|
#else /* CONFIG_PPC_BOOK3S */
|
||||||
|
|
||||||
/* Embedded type MMU with HW exec support. This is a bit more complicated
|
/* Embedded type MMU with HW exec support. This is a bit more complicated
|
||||||
* as we don't have two bits to spare for _PAGE_EXEC and _PAGE_HWEXEC so
|
* as we don't have two bits to spare for _PAGE_EXEC and _PAGE_HWEXEC so
|
||||||
@@ -179,7 +179,7 @@ static pte_t set_access_flags_filter(pte_t pte, struct vm_area_struct *vma,
|
|||||||
return __pte(pte_val(pte) | _PAGE_EXEC);
|
return __pte(pte_val(pte) | _PAGE_EXEC);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* !(defined(CONFIG_PPC_STD_MMU) || _PAGE_EXEC == 0) */
|
#endif /* CONFIG_PPC_BOOK3S */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* set_pte stores a linux PTE into the linux page table.
|
* set_pte stores a linux PTE into the linux page table.
|
||||||
|
Reference in New Issue
Block a user