[so2] [Ixia Challenge] kfree

Cosmin Paraschiv csmnprschv at gmail.com
Sun Mar 24 18:51:19 EET 2013


On 3/24/2013 6:02 PM, Claudiu Ghioc wrote:
> Am o intrebare pentru kfree. Am adaugat un .handler si un 
> .entry_handler si observ foarte mult hit-uri pe aceste functii, de 
> foarte multe ori chiar cu acelasi parametru. Se mai intampla asta 
> altcuiva? Adresa am luat-o in entry_handler din ax, iar in handler din 
> bx.

Pentru kfree trebuie inregistrat un jprobe, nu un kretprobe. Astfel, vei 
defini campul entry cu adresa unei functii de callback, avand signatura 
kfree-ului. Unicul parametru este fix adresa care te intereseaza.
Incearca sa printezi current->comm. Cel mai probabil, multiplele 
kfree-uri pentru aceeasi adresa sunt venite de la un rmmod, care 
apeleaza module_exit si, mai departe, cleanup_module, unde se intampla 
magia.

> De asemenea incerc sa imi dau seama cand se reuseste eliberarea de 
> memorie, verificand daca este vreo diferenta la pointerul salvat in 
> entry_handler, insa diferenta nu apare doar odata pentru un pointer ci 
> de foarte multe ori. Si nu pot sa gasesc cazul in care chiar se 
> elibereaza memoria.

Pointer-ii care trebuie comparati sunt cel primit ca parametru in 
handler-ul pentru kfree si cel intors de __kmalloc, care poate fi 
obtinut in handler-ul de iesire pentru __kmalloc, din registrul ax.


More information about the so2 mailing list