Bug 5946

Summary: assertion (!sk->sk_forward_alloc) failures
Product: Networking Reporter: Pawel Staszewski (pstaszewski)
Component: IPV4Assignee: Stephen Hemminger (stephen)
Status: RESOLVED CODE_FIX    
Severity: normal CC: gpeirano, pookey, tx
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15.1 Subsystem:
Regression: --- Bisected commit-id:
Attachments: can't post to comments, get error from bugzilla

Description Pawel Staszewski 2006-01-24 00:11:45 UTC
Most recent kernel where this bug did not occur: 2.6.13
Distribution: Gentoo
Hardware Environment: P4 3.2GHz 2x e1000 driver 4GB RAM 8 SCSI DISCS
Software Environment: Squid
Problem Description: dmesg shows :

KERNEL: assertion (!sk->sk_forward_alloc) failed at net/core/stream.c (279)
KERNEL: assertion (!sk->sk_forward_alloc) failed at net/ipv4/af_inet.c (148)
Comment 1 Stephen Hemminger 2006-01-24 09:30:05 UTC
What is the hardware?
Are you using an E1000?
Comment 2 Pawel Staszewski 2006-01-25 01:39:39 UTC
Yes
lspci:
00:00.0 Host bridge: Intel Corporation 82875P/E7210 Memory Controller Hub (rev 02)
00:03.0 PCI bridge: Intel Corporation 82875P/E7210 Processor to PCI to CSA
Bridge (rev 02)
00:1c.0 PCI bridge: Intel Corporation 6300ESB 64-bit PCI-X Bridge (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 0a)
00:1f.0 ISA bridge: Intel Corporation 6300ESB LPC Interface Controller (rev 02)
00:1f.1 IDE interface: Intel Corporation 6300ESB PATA Storage Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 6300ESB SATA Storage Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 6300ESB SMBus Controller (rev 02)
01:01.0 Ethernet controller: Intel Corporation 82547GI Gigabit Ethernet Controller
02:03.0 SCSI storage controller: Adaptec AIC-7902B U320 (rev 10)
02:03.1 SCSI storage controller: Adaptec AIC-7902B U320 (rev 10)
03:09.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
03:0a.0 Ethernet controller: Intel Corporation 82541GI/PI Gigabit Ethernet
Controller
Comment 3 Stephen Hemminger 2006-04-03 15:02:53 UTC
Please retest with 2.6.17-rc1. Davem and Hubert found several errors in e1000
driver. One of them would have caused this error.
Comment 4 Stephen Hemminger 2006-04-03 15:04:58 UTC
*** Bug 6279 has been marked as a duplicate of this bug. ***
Comment 5 Stephen Hemminger 2006-04-11 09:54:34 UTC
*** Bug 5591 has been marked as a duplicate of this bug. ***
Comment 6 Stephen Hemminger 2006-04-11 10:03:10 UTC
This patch is already in 2.6.16 and later.

diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 49cd096..96b7bef 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2821,13 +2821,6 @@
 		count++;
 #endif
 
-#ifdef NETIF_F_TSO
-	/* Controller Erratum workaround */
-	if (!skb->data_len && tx_ring->last_tx_tso &&
-	    !skb_shinfo(skb)->tso_size)
-		count++;
-#endif
-
 	count += TXD_USE_COUNT(len, max_txd_pwr);
 
 	if (adapter->pcix_82544)
@@ -2846,11 +2839,6 @@
 				       max_txd_pwr);
 	if (adapter->pcix_82544)
 		count += nr_frags;
-
-
-	if (adapter->hw.tx_pkt_filtering &&
-	    (adapter->hw.mac_type == e1000_82573))
-		e1000_transfer_dhcp_info(adapter, skb);
 
 	local_irq_save(flags);
 	if (!spin_trylock(&tx_ring->tx_lock)) {
@@ -2858,6 +2846,17 @@
 		local_irq_restore(flags);
 		return NETDEV_TX_LOCKED;
 	}
+
+#ifdef NETIF_F_TSO
+	/* Controller Erratum workaround */
+	if (!skb->data_len && tx_ring->last_tx_tso &&
+	    !skb_shinfo(skb)->tso_size)
+		count++;
+#endif
+
+	if (adapter->hw.tx_pkt_filtering &&
+	    (adapter->hw.mac_type == e1000_82573))
+		e1000_transfer_dhcp_info(adapter, skb);
 
 	/* need: count + 2 desc gap to keep tail from touching
 	 * head, otherwise try next time */
Comment 7 Jesse Brandeburg 2006-04-11 16:11:26 UTC
Created attachment 7837 [details]
can't post to comments, get error from bugzilla

the current thread on this issue shows that the changes herbert made do not
eliminate the issue.  Also, some of the other bugs linked to this issue are
*not* on e1000 adapters.  One of the non-e1000 reporters was running an older
kernel, but I would like to see if he can try 2.6.16+

In short I don't believe this is resolved.
Comment 8 Jesse Brandeburg 2006-04-11 16:15:18 UTC
Comment on attachment 7837 [details]
can't post to comments, get error from bugzilla

Stephen, can you please change the title to not have a "linefeed" in the middle
of the Summary?
Comment 9 Gino Paolo Peirano 2006-04-20 08:15:47 UTC
in kernel 2.6.16.9 :

KERNEL: assertion (!sk->sk_forward_alloc) failed at net/core/stream.c (283)
KERNEL: assertion (!sk->sk_forward_alloc) failed at net/ipv4/af_inet.c (150)


Best regards

Gino