¿Alguien ha tenido éxito en mmaping un archivo/proc/pid/mem con Linux kernel 2.6? Recibo un error ENODEV (No such device) error. Mi llamado es el siguiente:mmap en/proc/pid/mem
char * map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, mem_fd, offset);
Y he verificado por mirar el archivo/proc/PID/mapas durante la depuración que, cuando la ejecución llega a esta llamada, offset tiene el valor de la parte superior de la PAGE_SIZE pila menos . También he verificado con ptrace que mmap está configurando errno en ENODEV.
¡Muchas gracias! No parece tener ese archivo base.c en mi Ubuntu x86_64 - mi directorio/usr/src está vacío. ¿Qué distribución estás ejecutando? –
@Amittai: Puede instalar el paquete 'linux-source' o buscar el origen del kernel de Linux directamente desde kernel.org. – ephemient
error 404 en los enlaces mencionados :( – ashish