On Tue, Jun 16, 2020 at 11:55:49AM +0200, Christoph Hellwig wrote: > + hv_hypercall_pg = __vmalloc_node_range(PAGE_SIZE, 1, VMALLOC_START, > + VMALLOC_END, GFP_KERNEL, PAGE_KERNEL_RX, > + VM_FLUSH_RESET_PERMS, NUMA_NO_NODE, __func__); I think that's wrong, they seem to want to CALL into that page, and that doesn't unconditionally work for any page in the vmalloc range. This really ought to use module_alloc() to guarantees it gets a page in the correct range.