Messages in this thread | | | Date | Sun, 15 Jan 2006 21:48:38 +0200 | From | "Vitaly V. Bursov" <> | Subject | linux 2.6.15.1 ppp_async panic on x86-64. |
| |
Hello,
PPP doesn't work for me on a x86-64 kernel. Kernel panics with a message
================cut: dmesg Jan 15 20:24:12 vb skb_over_panic: text:ffffffff886700d9 len:1 put:1 head:ffff81002b7ed000 data:ffff81012b7ed000 tail:ffff81012b7ed001 end:ffff81002b7ed600 dev:<NULL> Jan 15 20:24:12 vb ----------- [cut here ] --------- [please bite here ] --------- Jan 15 20:24:12 vb Kernel BUG at net/core/skbuff.c:94 ================cut note the "tail" and "end" difference: 0xffff81012b7ed001-0xffff81002b7ed600 = 0xfffffa01
It looks like that problem is caused by this peace of code. At least it works better after commenting out "skb_reserve" line.
================cut: ppp_async.c err: /* frame had an error, remember that, reset SC_TOSS & SC_ESCAPE */ ap->state = SC_PREV_ERROR; if (skb) { /* make skb appear as freshly allocated */ skb_trim(skb, 0); skb_reserve(skb, - skb_headroom(skb)); } ================cut
skb_headroom returns 32bit "int", skb_reserve takes 32bit "unsigned int" and adds it to a 64bit pointer, which is bad.
I'm not at the list. -- Thank you, Vitaly DON'T PANIC GPG Key ID: F95A23B9 [unhandled content-type:application/pgp-signature] | |