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

Madalina Hristache madalina.hristache at gmail.com
Sun May 15 23:21:20 EEST 2016


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?

Mădă


More information about the so2 mailing list