2010-03-16 21 views
6

Tôi đang viết một mô-đun hạt nhân Linux và tôi muốn phân bổ một trang thực thi. Plain kmalloc trả về một con trỏ trong một trang không thực thi được, và tôi nhận được sự hoảng sợ hạt nhân khi thực thi mã ở đó. Nó phải hoạt động trên Ubuntu Karmic x86, 2.6.31-20-generic-pae.Làm thế nào để phân bổ một trang thực thi trong một mô-đun hạt nhân Linux?

+2

Tôi có thể hỏi lý do bạn muốn trang thực thi không? Tôi tò mò. – stsquad

Trả lời

8
#include <linux/vmalloc.h> 
#include <asm/pgtype_types.h> 
... 
char *p = __vmalloc(byte_size, GFP_KERNEL, PAGE_KERNEL_EXEC); 
... 
if (p != NULL) vfree(p); 
Các vấn đề liên quan