From: "Luis R. Rodriguez" <mcgrof@xxxxxxxxxx> Subject: mm: provide a fallback for PAGE_KERNEL_EXEC for architectures 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. Link: http://lkml.kernel.org/r/20180510185507.2439-3-mcgrof@xxxxxxxxxx Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx> Suggested-by: Matthew Wilcox <willy@xxxxxxxxxxxxx> Reviewed-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/asm-generic/pgtable.h | 4 ++++ mm/nommu.c | 4 ---- mm/vmalloc.c | 4 ---- 3 files changed, 4 insertions(+), 8 deletions(-) --- a/include/asm-generic/pgtable.h~mm-provide-a-fallback-for-page_kernel_exec-for-architectures +++ a/include/asm-generic/pgtable.h @@ -1109,6 +1109,10 @@ static inline bool arch_has_pfn_modify_c # define PAGE_KERNEL_RO PAGE_KERNEL #endif +#ifndef PAGE_KERNEL_EXEC +# define PAGE_KERNEL_EXEC PAGE_KERNEL +#endif + #endif /* !__ASSEMBLY__ */ #ifndef io_remap_pfn_range --- a/mm/nommu.c~mm-provide-a-fallback-for-page_kernel_exec-for-architectures +++ a/mm/nommu.c @@ -364,10 +364,6 @@ void *vzalloc_node(unsigned long size, i } 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 --- a/mm/vmalloc.c~mm-provide-a-fallback-for-page_kernel_exec-for-architectures +++ a/mm/vmalloc.c @@ -1907,10 +1907,6 @@ void *vzalloc_node(unsigned long size, i } 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 _