[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