[PATCH] eth16i.c: don't reference skb after passing it to netif_rx

Arnaldo Carvalho de Melo (acme@conectiva.com.br)
Mon, 26 Feb 2001 20:44:58 -0300


yet another one. 8)

Em Mon, Feb 26, 2001 at 08:33:59PM -0300, Arnaldo Carvalho de Melo escreveu:
Hi,

I've just read davem's post at netdev about the brokeness of
referencing skbs after passing it to netif_rx, so please consider applying
this patch. Ah, this was just added to the Janitor's TODO list at
http://bazar.conectiva.com.br/~acme/TODO and I'm doing a quick audit in the
net drivers searching for this, maybe some more patches will follow.

- Arnaldo

--- linux-2.4.2/drivers/net/eth16i.c Tue Feb 13 19:15:05 2001
+++ linux-2.4.2.acme/drivers/net/eth16i.c Mon Feb 26 22:16:19 2001
@@ -1195,10 +1195,6 @@
}

skb->protocol=eth_type_trans(skb, dev);
- netif_rx(skb);
- dev->last_rx = jiffies;
- lp->stats.rx_packets++;
- lp->stats.rx_bytes += pkt_len;

if( eth16i_debug > 5 ) {
int i;
@@ -1208,6 +1204,10 @@
printk(KERN_DEBUG " %02x", skb->data[i]);
printk(KERN_DEBUG ".\n");
}
+ netif_rx(skb);
+ dev->last_rx = jiffies;
+ lp->stats.rx_packets++;
+ lp->stats.rx_bytes += pkt_len;

} /* else */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/