Message ID | 20180510014447.15989-3-mcgrof@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Luis, On Thu, May 10, 2018 at 3:44 AM, Luis R. Rodriguez <mcgrof@kernel.org> wrote: > Some architectures just don't have PAGE_KERNEL_EXEC. The mm/nommu.c > and mm/vmalloc.c code have been using PAGE_KERNEL as a fallback for years. > Move this fallback to asm-generic. > > Architectures which do not define PAGE_KERNEL_EXEC yet: > > o alpha > o mips > o openrisc > o sparc64 The above list seems to be far from complete? > Suggested-by: Matthew Wilcox <willy@infradead.org> > Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Gr{oetje,eeting}s, Geert
On Thu, May 10, 2018 at 09:45:56AM +0200, Geert Uytterhoeven wrote: > Hi Luis, > > On Thu, May 10, 2018 at 3:44 AM, Luis R. Rodriguez <mcgrof@kernel.org> wrote: > > Some architectures just don't have PAGE_KERNEL_EXEC. The mm/nommu.c > > and mm/vmalloc.c code have been using PAGE_KERNEL as a fallback for years. > > Move this fallback to asm-generic. > > > > Architectures which do not define PAGE_KERNEL_EXEC yet: > > > > o alpha > > o mips > > o openrisc > > o sparc64 > > The above list seems to be far from complete? I'll look again. If you know of others lemme know. Luis
On Thu, May 10, 2018 at 03:33:55PM +0000, Luis R. Rodriguez wrote: > On Thu, May 10, 2018 at 09:45:56AM +0200, Geert Uytterhoeven wrote: > > Hi Luis, > > > > On Thu, May 10, 2018 at 3:44 AM, Luis R. Rodriguez <mcgrof@kernel.org> wrote: > > > Some architectures just don't have PAGE_KERNEL_EXEC. The mm/nommu.c > > > and mm/vmalloc.c code have been using PAGE_KERNEL as a fallback for years. > > > Move this fallback to asm-generic. > > > > > > Architectures which do not define PAGE_KERNEL_EXEC yet: > > > > > > o alpha > > > o mips > > > o openrisc > > > o sparc64 > > > > The above list seems to be far from complete? > > I'll look again. If you know of others lemme know. You know, better just ignore documenting these. I'll respin without that. Luis
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index 890fc54f4713..39e9bd66c786 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h @@ -1107,6 +1107,18 @@ static inline void init_espfix_bsp(void) { } # define PAGE_KERNEL_RO PAGE_KERNEL #endif +/* + * Current architectures known to not define PAGE_KERNEL_EXEC: + * + * o alpha + * o mips + * o openrisc + * o sparc64 + */ +#ifndef PAGE_KERNEL_EXEC +# define PAGE_KERNEL_EXEC PAGE_KERNEL +#endif + #endif /* !__ASSEMBLY__ */ #ifndef io_remap_pfn_range diff --git a/mm/nommu.c b/mm/nommu.c index 13723736d38f..08ad4dcd281d 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -364,10 +364,6 @@ void *vzalloc_node(unsigned long size, int node) } EXPORT_SYMBOL(vzalloc_node); -#ifndef PAGE_KERNEL_EXEC -# define PAGE_KERNEL_EXEC PAGE_KERNEL -#endif - /** * vmalloc_exec - allocate virtually contiguous, executable memory * @size: allocation size diff --git a/mm/vmalloc.c b/mm/vmalloc.c index ebff729cc956..89543d13e32a 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -1920,10 +1920,6 @@ void *vzalloc_node(unsigned long size, int node) } EXPORT_SYMBOL(vzalloc_node); -#ifndef PAGE_KERNEL_EXEC -# define PAGE_KERNEL_EXEC PAGE_KERNEL -#endif - /** * vmalloc_exec - allocate virtually contiguous, executable memory * @size: allocation size
Some architectures just don't have PAGE_KERNEL_EXEC. The mm/nommu.c and mm/vmalloc.c code have been using PAGE_KERNEL as a fallback for years. Move this fallback to asm-generic. Architectures which do not define PAGE_KERNEL_EXEC yet: o alpha o mips o openrisc o sparc64 Suggested-by: Matthew Wilcox <willy@infradead.org> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> --- include/asm-generic/pgtable.h | 12 ++++++++++++ mm/nommu.c | 4 ---- mm/vmalloc.c | 4 ---- 3 files changed, 12 insertions(+), 8 deletions(-)