如何在Linux内核模块中分配可执行页面?

时间:2010-03-16 23:07:09

标签: linux-kernel executable nomachine-nx

我正在编写一个Linux内核模块,我想分配一个可执行页面。普通的 kmalloc 在非可执行页面中返回一个指针,在那里执行代码时会出现内核恐慌。它必须适用于Ubuntu Karmic x86,2.6.31-20-generic-pae。

2 个答案:

答案 0 :(得分:9)

#include <linux/vmalloc.h>
#include <asm/pgtype_types.h>
...
char *p = __vmalloc(byte_size, GFP_KERNEL, PAGE_KERNEL_EXEC);
...
if (p != NULL) vfree(p);

答案 1 :(得分:0)

for item in itemlist:
    myWidget=tk.Widget(root, name=item)
    myWidget.pack()