lance.c - dev_kfree_skb() then reference skb->len
PATCH 1/1 lance.c - dev_kfree_skb() then reference skb->len
Greetings all,
Patch is against 2.2.17, drivers/net/lance.c.
I believe this to be "obviously correct," but please correct me if I'm wrong.
This moves a reference to skb->len to before the possible dev_kfree_skb(skb) call. Though it appears to work as is, I suspect it is incorrect.
Please apply or let me know why.
Eli
ps. It's an attachment rather than inline because I can't seem to get Netscape (4.71) to do that without replacing tabs with spaces. Grr.
--------------------. "To the systems programmer, users and applications
Eli Carter | serve only to provide a test load."
[email protected] `---------------------------------- (random fortune)
lance.c renamed from lance.c.2.2.17 +2 -1
@@ -926,6 +926,8 @@ lp->tx_ring[entry].misc =0x0000 ; + lp->stats.tx_bytes += skb->len; +/* If any part of this buffer is >16M we must copy it to a low-memory buffer. */ if ((u32 )virt_to_bus (skb->data) + skb->len >0x01000000 ) {
@@ -941,7 +943,6 @@ lp->tx_ring[entry].base = ((u32 )virt_to_bus (skb->data) &0xffffff ) |0x83000000 ; } lp->cur_tx++; - lp->stats.tx_bytes += skb->len;/* Trigger an immediate send poll. */ outw (0x0000 , ioaddr+LANCE_ADDR );
Quoted 6 lines · Eli Carter
Patch is against 2.2.17,
drivers/net/lance.c.
I believe this to be "obviously correct," but please correct me if I'm wrong.
This moves a reference toskb->lento before the possibledev_kfree_skb(skb)call. Though it appears to work as is, I suspect it is incorrect.
This patch looks reasonable.
Perhaps it would be better to have the driver retain the skbuff until the transmit succeeds, and only then add the length to the stats. But this specific bug is related the ISA bounce buffer code. Any ISA card is in the "legacy" category, so it's better to make minimal change needed to correct the obvious potential problem.
Donald Becker [email protected]
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/