lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20101225121044.GA1841@del.dom.local> Date: Sat, 25 Dec 2010 13:10:44 +0100 From: Jarek Poplawski <jarkao2@...il.com> To: Joel Soete <soete.joel@...rlet.be> Cc: Eric Dumazet <eric.dumazet@...il.com>, Andrew Morton <akpm@...ux-foundation.org>, Linux Kernel <linux-kernel@...r.kernel.org>, netdev@...r.kernel.org Subject: Re: Help: major pppoe regression since 2.6.35 (panic on first ppp conection)? On Fri, Dec 24, 2010 at 04:13:25PM +0100, Jarek Poplawski wrote: > On Fri, Dec 24, 2010 at 11:22:25AM +0000, Joel Soete wrote: > > Hello Jarek, > Hi Joel, > > > Ok I get a clean 2.6.37-rc7 vanilla src and apply your debugging > > patch and grab the attached syslog-2.6.37-rc7-t2.gz with obviously a > > lot of "warning" (but as well as with Eric's patch, kernel survived > > to a lynx connection to ftp.eu.kernel.org to download of a snapshot > > patch ;<) ) > > Yes, even more than I expected... I hope the list will forgive us ;-) Alas the list rejected your message (try to limit it to ~200kb next time). Anyway, it looks like the sundance driver is the main guilty. The patch below removes one obvious bug but there could be something more. Please, apply this one and my previous debugging patch to the clean 2.6.37-rc7. (If there're still warnings the first ~20kb should do.) Thanks, Jarek P. --- diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c index 3ed2a67..b409d7e 100644 --- a/drivers/net/sundance.c +++ b/drivers/net/sundance.c @@ -1016,7 +1016,7 @@ static void init_ring(struct net_device *dev) /* Fill in the Rx buffers. Handle allocation failure gracefully. */ for (i = 0; i < RX_RING_SIZE; i++) { - struct sk_buff *skb = dev_alloc_skb(np->rx_buf_sz); + struct sk_buff *skb = dev_alloc_skb(np->rx_buf_sz + 2); np->rx_skbuff[i] = skb; if (skb == NULL) break; @@ -1407,7 +1407,7 @@ static void refill_rx (struct net_device *dev) struct sk_buff *skb; entry = np->dirty_rx % RX_RING_SIZE; if (np->rx_skbuff[entry] == NULL) { - skb = dev_alloc_skb(np->rx_buf_sz); + skb = dev_alloc_skb(np->rx_buf_sz + 2); np->rx_skbuff[entry] = skb; if (skb == NULL) break; /* Better luck next round. */ -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists