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