[so2] [Tema 1] - intrebare probes pentru kmalloc
Vlad Badoiu
vladbadoiu at gmail.com
Wed May 18 23:24:09 EEST 2016
Am configurat kretprobe pentru kmalloc astfel incat sa aiba doua handlere:
unul pentru entry si unul pentru exit.
In handlerul de entry apelez o functie care adauga pointerul si cantitatea
de memorie la o lista pentru a putea fi verificat apoi de catre kfree
pentru a determina cantitatea de memorie dezalocata.
Funcia respectiva se numeste "proclist_alocadd".
In corpul ei apelez "kmalloc" pentru alocarea elementului introdus in lista.
Este asta o problema?
O portiune din codul meu:
//probe config for kmalloc
static int my_kmalloc_handler(struct kretprobe_instance *ri, struct pt_regs
*regs)
{
unsigned long ret_value = regs_return_value(regs);
//count
proclist_statadd(current->pid, CNT_KMALLOC, 1);
//register memory
proclist_allocconfirm(current->pid, (void *)ret_value);
return 0;
}
static int my_kmalloc_entry(struct kretprobe_instance *ri, struct pt_regs
*regs){
int size = regs->bx;
proclist_allocadd(current->pid, size);
return 0;
}
static struct kretprobe kretprobe_malloc = {
.entry_handler = my_kmalloc_entry,
.handler = my_kmalloc_handler,
};
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20160518/64f92b68/attachment.html>
More information about the so2
mailing list