Re: PATCH: Re: Memory corruption in 8390.c ? (and hp100 xirc2ps smc9194 ....)

From: Olivier Galibert
Date: Wed Jun 21 2006 - 14:59:10 EST


On Wed, Jun 21, 2006 at 06:59:40PM +0100, Alan Cox wrote:
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.17/drivers/net/8390.c linux-2.6.17/drivers/net/8390.c
> --- linux.vanilla-2.6.17/drivers/net/8390.c 2006-06-19 17:17:32.000000000 +0100
> +++ linux-2.6.17/drivers/net/8390.c 2006-06-21 17:41:12.007145384 +0100
> @@ -275,12 +275,14 @@
> struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);
> int send_length = skb->len, output_page;
> unsigned long flags;
> + char buf[ETH_ZLEN];
> + char *data = skb->data;
>
> if (skb->len < ETH_ZLEN) {
> - skb = skb_padto(skb, ETH_ZLEN);
> - if (skb == NULL)
> - return 0;
> + memset(buf, 0, ETH_ZLEN); /* more efficient than doing just the needed bits */
> + memcpy(buf, data, ETH_ZLEN);
^^^^^^^^
send_length surely?

> send_length = ETH_ZLEN;
> + data = buf;
> }
>
> /* Mask interrupts from the ethercard.

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