linux 2.6.15.1 ppp_async panic on x86-64.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

Attachment: pgpVokUtTExEp.pgp
Description: PGP signature


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux