[so2] [Tema 5] stp_packet_type.func nu se apeleaza
Madalina Hristache
madalina.hristache at gmail.com
Sun May 15 23:29:23 EEST 2016
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.
Mădă
More information about the so2
mailing list