modprobe modificar lsmod diseño compilar como comando cargar linux linux-kernel kernel embedded-linux kernel-module

linux - modificar - Encontrar la dirección del kernel de un módulo de kernel cargable



modificar kernel linux (2)

Estoy tratando de encontrar el espacio de direcciones del kernel donde mi módulo de kernel cargable es reubicado por insmod.

Llegué a saber que al usar los modificadores -m, -O mientras inserto el módulo, solo podemos ver la tabla de símbolos y las direcciones de las secciones ejecutables desde el punto de vista del módulo y no sus direcciones reubicadas, como esa el proceso de reubicación se lleva a cabo cuando hacemos un insmod.

¿Alguien puede decir cómo encontrar la dirección reubicada de un módulo en la memoria kernel, es decir, la dirección enlazada dentro del kernel donde reside un módulo cargado?

¡Gracias!

PD Tenga en cuenta que estoy usando un kernel Redhat 2.4 Linux en el que la lista / proc / modules no muestra las direcciones virtuales de los módulos cargados.


Puede obtener el puntero de la sección del núcleo (dirección virtual, no la dirección de la memoria física, pero se puede convertir a la dirección física) y el tamaño de la huella del módulo del archivo / proc / modules.

Como parte del archivo en mi caja de Linux:

autofs4 29253 3 - Live 0xf9014000 hidp 23105 2 - Live 0xf900d000 rfcomm 42457 0 - Live 0xf8f84000


Ir al directorio /sys/module/<module-name>/sections/.text - mostrará dónde se carga el código /sys/module/<module-name>/sections/.data mostrará la sección de datos y .bss para la sección de bss del módulo.