Re: Incluir una "huella" en módulo del kernel
El 05/04/12 19:06, Camaleón escribió:
> El Thu, 05 Apr 2012 13:43:44 -0300, Gonzalo Rivero escribió:
>
>> El jue, 05-04-2012 a las 16:32 +0000, Camaleón escribió:
>>> El Thu, 05 Apr 2012 16:52:12 +0200, Juan Antonio escribió:
>
> (...)
>
>>>> Por último, lo que te comentaba antes era que tu misma añadieses al
>>>> parche un printk, que es un como un printf de libc de toda la vida,
>>>>
>>>> http://www.kernel-labs.org/?q=printk
>>>>
>>>> en la función init_module(), que es la que se llama cuando cargas el
>>>> módulo.
>>>
>>> Huys, no entiendo ni jota. Voy a ver si logro sacar algo útil del
>>> "objdump" que me parece más asequible :-)
>>>
>> esto entendí yo: en algún lugar del módulo hay una init_module() (man 2
>> init_module), en ese tal lugar podés agregar algo como:
>> printk(KERN_WARNING "Hola mundo!\n");
>
> ¿Del archivo "main.c" que tengo que modificar?
>
> No, no aparece ninguna llamada a la función "init_module", un grep me
> devuelve esa cadena ("init_module") en un archivo "*.o", binario.
>
> ¿Dónde tendría que poner el "printk"? :-?
>
>> y recompilarlo. Entonces, al cargarse, el módulo debería mostrarte en
>> dmesg (o similares) un: Hola mundo!
>>
>> Y esa sería tu huella para saber que tenés el módulo modificado
>
> Ya lo pillo... y la idea es buena pero no sé cómo llevarla a la práctica.
>
> Saludos,
>
perdona camaleon, lo de init_module parece que ha cambiado, asi lo
recordaba yo del 2.4
Busca en el código la llamada a module_init(). Como parámetro lleva el
numbre de una función y ahora esa función es el punto de entrada del
código del módulo.
Por ejemplo de bsr.c
[ código ]
static int __init bsr_init(void) <------- *
{
struct device_node *np;
dev_t bsr_dev;
[ mas código ]
}
[ mas código aun ]
module_init(bsr_init); <----- * Esta
module_exit(bsr_exit);
Y dentro de la función escribes el printk que te ha dicho Gonzalo.
Lo siento, un saludo.
--
"Tanto en los deportes como en todo lo demás, soy un experto. Pero para
mantener viva mi inteligencia natural y fuera de serie, tengo que comer
mucho"
Reply to: