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

Madalina Hristache madalina.hristache at gmail.com
Mon May 16 16:12:55 EEST 2016


Razvan Deaconescu via so2 <so2 at cursuri.cs.pub.ro>:
> 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

Oi fi eu Twitter Mode, dar mi-a ieșit până la urmă :)) Mersi de ajutor
și de răbdare.

Mădălina


More information about the so2 mailing list