Commit 1af446edfe3239b2b731f3458b3c285c397464cc
1 parent
d8eb2fab18
nommu: Provide vmalloc_exec().
Now that SH has switched to vmalloc_exec() for PAGE_KERNEL_EXEC usage, it's apparent that nommu has no vmalloc_exec() definition of its own. Stub in the one from mm/vmalloc.c. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Showing 1 changed file with 21 additions and 0 deletions Side-by-side Diff
mm/nommu.c
... | ... | @@ -266,6 +266,27 @@ |
266 | 266 | } |
267 | 267 | EXPORT_SYMBOL(vmalloc_node); |
268 | 268 | |
269 | +#ifndef PAGE_KERNEL_EXEC | |
270 | +# define PAGE_KERNEL_EXEC PAGE_KERNEL | |
271 | +#endif | |
272 | + | |
273 | +/** | |
274 | + * vmalloc_exec - allocate virtually contiguous, executable memory | |
275 | + * @size: allocation size | |
276 | + * | |
277 | + * Kernel-internal function to allocate enough pages to cover @size | |
278 | + * the page level allocator and map them into contiguous and | |
279 | + * executable kernel virtual space. | |
280 | + * | |
281 | + * For tight control over page level allocator and protection flags | |
282 | + * use __vmalloc() instead. | |
283 | + */ | |
284 | + | |
285 | +void *vmalloc_exec(unsigned long size) | |
286 | +{ | |
287 | + return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL_EXEC); | |
288 | +} | |
289 | + | |
269 | 290 | /** |
270 | 291 | * vmalloc_32 - allocate virtually contiguous memory (32bit addressable) |
271 | 292 | * @size: allocation size |