Subject: Re: Fwd: [2.6] ethertap and af_inet.c assertion failures

From: Tommy Christensen <[email-masked]>
Date: Tue, 11 Jan 2005 22:26:14 +0100

Simon Roscic wrote:
> hi,
> 
> today i upgraded my kernel from 2.6.9-rc2 to 2.6.10-rc3-bk12, now i get the
> following assertion failures while using the (closed source) phion vpn
> client, the vpn client uses ethertap, there are no closed source kernel
> modules or the like:
> 
> KERNEL: assertion (!atomic_read(&sk->sk_wmem_alloc)) failed at
> net/ipv4/af_inet.c (150)

netlink has messed up the send buffer accounting, when trimming a skb.

Patch below should fix this for ethertap. Could you give it a try?

-Tommy

--- linux-2.6.10-bk14/drivers/net/ethertap.c	2004-12-24 22:34:26.000000000 +0100
+++ linux-2.6.10-work/drivers/net/ethertap.c	2005-01-11 22:18:19.113295324 +0100
@@ -207,8 +207,8 @@
 			return 0;
 		}
 	  	dev_kfree_skb(skb2);
-	}
-	/* ... but do not orphan it here, netlink does it in any case. */
+	} else
+		skb_orphan(skb);
 
 	lp->stats.tx_bytes+=skb->len;
 	lp->stats.tx_packets++;