Я пишу модуль ядра Linux, и я хотел бы выделить исполняемую страницу. Плоскость kmalloc возвращает указатель в неисполняемой странице, и я получаю панику ядра при выполнении кода там. Это должно работать над Ubuntu Кармический x86, 2.6.31-20-generic-pae.
#include <linux/vmalloc.h>
#include <asm/pgtype_types.h>
...
char *p = __vmalloc(byte_size, GFP_KERNEL, PAGE_KERNEL_EXEC);
...
if (p != NULL) vfree(p);