[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