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ó: > > > El 05/04/12 16:42, Camaleón escribió: > > (...) > > >>> Si es asi, parchea init_module, que se llama cuando haces insmod, y > >>> con printk escribe un mensaje a la consola que se mostrará cuando lo > >>> cargues, para tener la certeza de que tu código esta ahí. > >> > >> Mmmm, mmmmmm... sigo sin enterarme. ¿Algún guía-burros que pueda seguir > >> con instrucciones sencillitas de tipo "primero haz esto, luego haz esto > >> otro, después ejecuta esto y por último edita esto otro"? > >> > >>> Si no es asi, lo siento, pero no he entendido lo que pretendes. > >> > >> No, no... es eso mismo. > >> > >> Saludos, > >> > >> > > bueno, pues a ver, si cuando haces el patch no te da error, ni cuando > > compilas el kernel tampoco, quiere decir que debe haberse parcheado y > > compilado correctamente. > > Ya, eso es lo que pienso yo también pero se supone que el parche debe > corregir una traza (error) que se produce en el kernel y no lo hace, > quiero asegurarme de que no he metido la pata al aplicar el parche y > después al cargar el módulo. > > > En todo caso, si el código de tu amigo declara alguna función o > > variable, es posible que puedas cerciorarte con objdump, > > > > objdump -t modulo.ko > > > > debería listar la tabla de símbolos del objeto, si aparece la función > > declarada en tu código, voila! > > Esto saca un montón de datos pero creo que no sirve para ver si una línea > se ha añadido o se ha modificado porque filtrando con "grep" no me saca > nada, ni el código original ni el que debería aparecer tras aplicar el > parche. > > > 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");
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 -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1333644224.2176.11.ca...@gonzalo.casa