6
我正在写一个Linux内核模块,我想分配一个可执行页面。 Plain kmalloc在不可执行的页面中返回一个指针,并且在那里执行代码时出现内核恐慌。它必须在Ubuntu Karmic x86,2.6.31-20-generic-pae上工作。如何在Linux内核模块中分配可执行页面?
我正在写一个Linux内核模块,我想分配一个可执行页面。 Plain kmalloc在不可执行的页面中返回一个指针,并且在那里执行代码时出现内核恐慌。它必须在Ubuntu Karmic x86,2.6.31-20-generic-pae上工作。如何在Linux内核模块中分配可执行页面?
#include <linux/vmalloc.h>
#include <asm/pgtype_types.h>
...
char *p = __vmalloc(byte_size, GFP_KERNEL, PAGE_KERNEL_EXEC);
...
if (p != NULL) vfree(p);
我可以问你为什么要一个可执行页面吗?我很好奇。 – stsquad 2010-03-17 13:27:27