2010-03-16 14 views
6

Estoy escribiendo un módulo de kernel de Linux, y me gustaría asignar una página ejecutable. Plain kmalloc devuelve un puntero dentro de una página no ejecutable, y me da un pánico de kernel al ejecutar allí el código. Tiene que funcionar en Ubuntu Karmic x86, 2.6.31-20-generic-pae.¿Cómo asignar una página ejecutable en un módulo kernel de Linux?

+2

¿Puedo preguntar por qué quieres una página ejecutable? Soy curioso. – stsquad

Respuesta

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); 
Cuestiones relacionadas