[so2] [Tema 5] stp_packet_type.func nu se apeleaza

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Mon May 16 16:03:58 EEST 2016


Madalina Hristache <madalina.hristache at gmail.com> writes:
> Madalina Hristache <madalina.hristache at gmail.com>:
>> Madalina Hristache <madalina.hristache at gmail.com>:
>>> Madalina Hristache <madalina.hristache at gmail.com>:
>>>> Razvan Deaconescu via so2 <so2 at cursuri.cs.pub.ro>:
>>>>> Madalina Hristache <madalina.hristache at gmail.com> writes:
>>>>>> Razvan Deaconescu via so2 <so2 at cursuri.cs.pub.ro>:
>>>>>>> Madalina Hristache <madalina.hristache at gmail.com> writes:
>>>>>>>> După o serie de câteva ore de încercări, _cred_ că m-am mai lămurit un
>>>>>>>> pic, fiindcă am reușit să construiesc un packet. Am verificat ce se
>>>>>>>> întâmplă pe acolo și pare bine. Problema e un mare oops când dau
>>>>>>>> comanda dev_queue_xmit. Sunt ceva cazuri mai generale cunoscute în
>>>>>>>> care se întâmplă asta?
>>>>>>>
>>>>>>> La nivelul acesta punctual nu știu care pot fi sursele. Vezi dacă te
>>>>>>> ajută stack trace-ul afișat, deși probabil nu.
>>>>>>>
>>>>>>> Vezi să fi completat csum din header și mark din skb. Altfel, insistă[1]
>>>>>>> :-)
>>>>>>
>>>>>> BUG: unable to handle kernel paging request at 393031d4
>>>>>> IP: [<c15ab0f0>] dev_hard_start_xmit+0x190/0x4d0
>>>>>>
>>>>>> mark, priority, am completat. La care checksum te referi mai exact?
>>>>>> Câmpul checksum din stp_hdr?
>>>>>
>>>>> sh->csum (sh de tipul struct stp_hdr). Dacă nu e de acolo, insistă prin
>>>>> alte locuri.
>>>>
>>>> Am setat totul, am dat dump la pachet și pare aproape totul bine, în
>>>> afara unei aparente probleme de aliniere. Oops-ul s-a schimbat, acum e
>>>> ceva cu BUG: Bad page state in process stp_test. Ce pare suspect în
>>>> pachet e că lipsește un octet din câmpul length al structurii
>>>> stp_hdr... Nu știu ce ar trebui să fac, cum să forțez asta.
>>>
>>> L-am făcut să apară, packetul e corect. Dar îmi rămâne bănuiala de aliniere...
>>
>> [   14.151523] BUG: Bad page state in process stp_test  pfn:06955
>> [   14.152162] page:c796faa0 count:-1 mapcount:0 mapping:  (null) index:0x0
>> [   14.152890] page flags: 0x5000000()
>> [   14.153924] Modules linked in: af_stp(O) netconsole [last unloaded: af_stp]
>> [   14.156339] CPU: 0 PID: 1039 Comm: stp_test Tainted: G           O 3.13.0 #15
>> [   14.156658] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
>> BIOS Bochs 01/01/2011
>> [   14.157421]  00000000 00000000 c675fd6c c1747de2 c796faa0 c675fd84
>> c1745ac6 c1957f78
>> [   14.163728]  c61173bc 00006955 c796faa0 c675fdf4 c10fe1d9 00000001
>> 00000041 00004c00
>> [   14.166551]  00000000 00000001 00000000 00000000 c6117530 00000000
>> 00000040 00000286
>>
>> Cum ar putea checker-ul să folosească o pagină cu count = -1?
>
> Poate, dacă dai free ca blegul. În sfârșit merge send-ul. Acum revin
> la problema inițială. .func nu se apelează :)) Mâine e o nouă zi.
>
> Mersi de ajutor, Răzvan.

O să-ți spunem Mădălina "Twitter Mode" Hristache :-P Sau Mădălina "Eu
centrez, eu dau cu capul, eu apăr, eu antrenez, eu arbitrez" Hristache :-P

Răzvan


More information about the so2 mailing list