/* For tight control over page level allocator and protection flags use __vmalloc() instead.  */
void* vmalloc_exec(unsigned long size)
/* For tight control over page level allocator and protection flags use __vmalloc() instead.  */
void* vmalloc_exec(unsigned long size)
{
	return __vmalloc_node(size, 1, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC,
			      -1, __builtin_return_address(0));
}