Subject: Re: VIA velocity skb leak.

From: David Miller <[email-masked]>
Date: Wed, 11 Mar 2009 21:20:09 -0700 (PDT)

From: David Miller <[email-masked]>
Date: Wed, 11 Mar 2009 21:17:06 -0700 (PDT)

> 
> velocity_xmit() needs to set 'pktlen = skb->len;' after,
> not before, the skb_padto() call.

Actually that won't work since, as you suggest, skb->len
isn't updated by skb_padto().

So the transmit needs something like:

	pktlen = (skb->len > ETH_ZLEN ? : ETH_ZLEN);

velocity_free_tx_buf() needs to make the same calculation
instead of just plain skb->len

This bug probably exists in every other driver using
skb_padto() :-)