Re: Diff against updated 3c59x.c for Boomerang boards

smurf@noris.de
8 Apr 1997 17:48:30 +0200


Nathan Bryant <nathan@burgessinc.com> writes:
>
> David Miller recently discovered a memory leak that exists in most of the
> Linux network drivers. I believe the updated 3c59x.c (for Boomerang
> cards) on http://cesdis.gsfc.nasa.gov/linux/ suffers from this problem;
> here's a diff which I think should correct it.
>
It seems that the drivers on cesdis, written for a particular kernel,
aren't updated along with the kernel. :-(

> +
> + if(skb == NULL) {
> + dev_tint(dev);
> + return NULL;
> }
>
> Can anybody explain the (skb == NULL) check and the call to dev_tint()?
> There is already a similar section in the updated 3c59x.c, but I'm not
> really sure what it does.

As far as I could tell from looking at the kernel code right now, the
start_xmit code is no longer called with a NULL skb.

I also wondered whether the code that immediately follows in most drivers,

if (skb->len <= 0)
return 0;

has any legal right to existence these days.

-- 
The author should gaze at Noah, and ... learn, as they did in the Ark, to crowd
a great deal of matter into a very small compass.
- Sydney, Smith, Edinburgh Review
-- 
Matthias Urlichs         \  noris network GmbH  /  Xlink-POP Nürnberg 
Schleiermacherstraße 12   \   Linux+Internet   /   EMail: urlichs@noris.de
90491 Nürnberg (Germany)   \    Consulting+Programming+Networking+etc'ing
   PGP: 1024/4F578875   1B 89 E2 1C 43 EA 80 44  15 D2 29 CF C6 C7 E0 DE
       Click <A HREF="http://info.noris.de/~smurf/finger">here</A>.    42