Skip to content

Commit bde1a13

Browse files
chleroympe
authored andcommitted
powerpc/book3e: redefine pte_mkprivileged() and pte_mkuser()
Book3e defines both _PAGE_USER and _PAGE_PRIVILEGED, so the nohash default pte_mkprivileged() and pte_mkuser() are not usable. This patch redefines them for book3e. In theorie, only pte_mkprivileged() needs to be redefined because _PAGE_USER includes _PAGE_PRIVILEGED, but it is less confusing to redefine both. Fixes: a0da4bc ("powerpc/mm: Allow platforms to redefine some helpers") Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
1 parent b9fb448 commit bde1a13

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

arch/powerpc/include/asm/nohash/pte-book3e.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,5 +104,21 @@
104104
#define PAGE_READONLY __pgprot(_PAGE_BASE | _PAGE_USER)
105105
#define PAGE_READONLY_X __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_EXEC)
106106

107+
#ifndef __ASSEMBLY__
108+
static inline pte_t pte_mkprivileged(pte_t pte)
109+
{
110+
return __pte((pte_val(pte) & ~_PAGE_USER) | _PAGE_PRIVILEGED);
111+
}
112+
113+
#define pte_mkprivileged pte_mkprivileged
114+
115+
static inline pte_t pte_mkuser(pte_t pte)
116+
{
117+
return __pte((pte_val(pte) & ~_PAGE_PRIVILEGED) | _PAGE_USER);
118+
}
119+
120+
#define pte_mkuser pte_mkuser
121+
#endif /* __ASSEMBLY__ */
122+
107123
#endif /* __KERNEL__ */
108124
#endif /* _ASM_POWERPC_NOHASH_PTE_BOOK3E_H */

0 commit comments

Comments
 (0)