vmalloc: fix the owner argument for the new __vmalloc_node_range callers
authorChristoph Hellwig <hch@lst.de>
Fri, 3 Jul 2020 22:15:27 +0000 (15:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Jul 2020 23:15:25 +0000 (16:15 -0700)
Fix the recently added new __vmalloc_node_range callers to pass the
correct values as the owner for display in /proc/vmallocinfo.

Fixes: 800e26b81311 ("x86/hyperv: allocate the hypercall page with only read and execute bits")
Fixes: 10d5e97c1bf8 ("arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page")
Fixes: 7a0e27b2a0ce ("mm: remove vmalloc_exec")
Reported-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/20200627075649.2455097-1-hch@lst.de
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/arm64/kernel/probes/kprobes.c
arch/x86/hyperv/hv_init.c
kernel/module.c

index cbe49cd..5290f17 100644 (file)
@@ -122,7 +122,7 @@ void *alloc_insn_page(void)
 {
        return __vmalloc_node_range(PAGE_SIZE, 1, VMALLOC_START, VMALLOC_END,
                        GFP_KERNEL, PAGE_KERNEL_ROX, VM_FLUSH_RESET_PERMS,
-                       NUMA_NO_NODE, __func__);
+                       NUMA_NO_NODE, __builtin_return_address(0));
 }
 
 /* arm kprobe: install breakpoint in text */
index 2bdc72e..6035df1 100644 (file)
@@ -377,7 +377,8 @@ void __init hyperv_init(void)
 
        hv_hypercall_pg = __vmalloc_node_range(PAGE_SIZE, 1, VMALLOC_START,
                        VMALLOC_END, GFP_KERNEL, PAGE_KERNEL_ROX,
-                       VM_FLUSH_RESET_PERMS, NUMA_NO_NODE, __func__);
+                       VM_FLUSH_RESET_PERMS, NUMA_NO_NODE,
+                       __builtin_return_address(0));
        if (hv_hypercall_pg == NULL) {
                wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
                goto remove_cpuhp_state;
index 0c6573b..bee1c25 100644 (file)
@@ -2785,7 +2785,7 @@ void * __weak module_alloc(unsigned long size)
 {
        return __vmalloc_node_range(size, 1, VMALLOC_START, VMALLOC_END,
                        GFP_KERNEL, PAGE_KERNEL_EXEC, VM_FLUSH_RESET_PERMS,
-                       NUMA_NO_NODE, __func__);
+                       NUMA_NO_NODE, __builtin_return_address(0));
 }
 
 bool __weak module_init_section(const char *name)