2010-03-16 6 views
6

Sto scrivendo un modulo del kernel Linux e mi piacerebbe allocare una pagina eseguibile. Semplice kmalloc restituisce un puntatore all'interno di una pagina non eseguibile e durante l'esecuzione del codice viene visualizzato un errore di kernel. Deve funzionare su Ubuntu Karmic x86, 2.6.31-20-generico-pae.Come allocare una pagina eseguibile in un modulo del kernel Linux?

+2

Posso chiedere perché si desidera una pagina eseguibile? Sono curioso. – stsquad

risposta

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); 
Problemi correlati