[pso] [IxiaChallenge] struct proto & struct kmem_cache

Lavinia Petrache lavinia.petrache at gmail.com
Sun May 8 02:03:48 EEST 2011


Salut din nou!

In continuare am probleme la struct sock . Cand apelez sk_alloc, crapa
complet iar stack trace imi spune ca pica la functia
kmem_cache_alloc_notrace, pe care nu am reusit sa o depistez. Am incercat sa
ocolesc oarecum problema si am alocat sk folosind kmalloc, insa cand am
apelat functia sock_init_data s-a intamplat la fel.

De la ce ar putea sa fie problema? In struct proto am initializat campurile
name, owner si obj_size. Mai trebuie adaugat si altceva pe langa acestea? La
cat trebuie initializat obj_size? Presimt ca fac ceva fundamental gresit...

In speranta ca poate mai exista lume treaza,
Lavinia

2011/5/7 Lavinia Petrache <lavinia.petrache at gmail.com>

> Multumesc, intr-adevar de la asta era, nu m-am uitat prea bine pe unde o
> lua functia de alocare :)
>
> Lavinia
>
>
> 2011/5/7 Vlad Dogaru <ddvlad at rosedu.org>
>
>> On 5/7/2011 4:37 PM, Lavinia Petrache wrote:
>> > Buna!
>> >
>> > Am inregistrat o structura struct proto pentru a putea avea intrarea
>> > protocolului in tabela din /proc/net/protocols. In continuare, am
>> > observat (sau cel putin presupun) ca imi trebuie aceasta structura in
>> > functia create a structurii net_proto_family. Intampin insa urmatoarea
>> > problema: cand aloc memorie pentru struct sock cu sk_alloc, aceasta
>> > functie primeste ca parametru adresa structurii protocolului. Cum ar
>> > trebui sa initializez restul campurilor din structura? Initial imi crapa
>> > deoarece nu aveam initializat campul slab din ea.
>>
>> Poți să nu declari un slab separat, se va folosi kmalloc dacă prot->slab
>> e NULL [1]. S-ar putea să crape pentru că nu ai setat prot->obj_size (e
>> folosit tot la [1]).
>>
>> [1] http://lxr.linux.no/#linux+v2.6.38/net/core/sock.c#L1043<http://lxr.linux.no/#linux+v2.6.38/net/core/sock.c%23L1043>
>>
>> Vlad
>> _______________________________________________
>> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/pso/attachments/20110508/3f346793/attachment.htm>


More information about the pso mailing list