Inter-revision diff: patch 12

Comparing v6 (message) to v10 (message)

--- v6
+++ v10
@@ -1,17 +1,18 @@
 Cc: linuxppc-dev@lists.ozlabs.org
 Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
 ---
- Documentation/admin-guide/kernel-parameters.txt | 2 ++
- arch/powerpc/Kconfig                            | 1 +
- 2 files changed, 3 insertions(+)
+ Documentation/admin-guide/kernel-parameters.txt |  2 ++
+ arch/powerpc/Kconfig                            |  1 +
+ arch/powerpc/kernel/module.c                    | 13 +++++++++++--
+ 3 files changed, 14 insertions(+), 2 deletions(-)
 
 diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index bdc1f33fd3d1..6f0b41289a90 100644
+index a10b545c2070..d62df53e5200 100644
 --- a/Documentation/admin-guide/kernel-parameters.txt
 +++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -3190,6 +3190,8 @@
+@@ -3225,6 +3225,8 @@
  
- 	nohugeiomap	[KNL,X86,PPC] Disable kernel huge I/O mappings.
+ 	nohugeiomap	[KNL,X86,PPC,ARM64] Disable kernel huge I/O mappings.
  
 +	nohugevmalloc	[PPC] Disable kernel huge vmalloc mappings.
 +
@@ -19,17 +20,41 @@
  			Equivalent to smt=1.
  
 diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
-index 1f48bbfb3ce9..9171d25ad7dc 100644
+index 107bb4319e0e..781da6829ab7 100644
 --- a/arch/powerpc/Kconfig
 +++ b/arch/powerpc/Kconfig
-@@ -175,6 +175,7 @@ config PPC
- 	select GENERIC_TIME_VSYSCALL
+@@ -181,6 +181,7 @@ config PPC
+ 	select GENERIC_GETTIMEOFDAY
  	select HAVE_ARCH_AUDITSYSCALL
  	select HAVE_ARCH_HUGE_VMAP		if PPC_BOOK3S_64 && PPC_RADIX_MMU
 +	select HAVE_ARCH_HUGE_VMALLOC		if HAVE_ARCH_HUGE_VMAP
  	select HAVE_ARCH_JUMP_LABEL
  	select HAVE_ARCH_KASAN			if PPC32 && PPC_PAGE_SHIFT <= 14
  	select HAVE_ARCH_KASAN_VMALLOC		if PPC32 && PPC_PAGE_SHIFT <= 14
+diff --git a/arch/powerpc/kernel/module.c b/arch/powerpc/kernel/module.c
+index a211b0253cdb..bc2695eeeb4c 100644
+--- a/arch/powerpc/kernel/module.c
++++ b/arch/powerpc/kernel/module.c
+@@ -92,8 +92,17 @@ void *module_alloc(unsigned long size)
+ {
+ 	BUILD_BUG_ON(TASK_SIZE > MODULES_VADDR);
+ 
+-	return __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END, GFP_KERNEL,
+-				    PAGE_KERNEL_EXEC, VM_FLUSH_RESET_PERMS, NUMA_NO_NODE,
++	/*
++	 * Don't do huge page allocations for modules yet until more testing
++	 * is done. STRICT_MODULE_RWX may require extra work to support this
++	 * too.
++	 */
++
++	return __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END,
++				    GFP_KERNEL,
++				    PAGE_KERNEL_EXEC,
++				    VM_NOHUGE | VM_FLUSH_RESET_PERMS,
++				    NUMA_NO_NODE,
+ 				    __builtin_return_address(0));
+ }
+ #endif
 -- 
 2.23.0
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help