[PATCH] ibm_newemac: Fixes entry of short packets

SathyaNarayanan sathyan at teamf1.com
Fri Jun 27 16:36:06 EST 2008


Hi benh,

            Please find my comments inline.

On Tue, Jun 24, 2008 at 4:50 AM, Benjamin Herrenschmidt <
benh at kernel.crashing.org> wrote:

> On Mon, 2008-06-23 at 14:55 +0200, Stefan Roese wrote:
> > From: Sathya Narayanan <sathyan at teamf1.com>
> >
> > Short packets has to be discarded by the driver. So this patch addresses
> the
> > issue of discarding the short packets of size lesser then ethernet header
> > size.
>
> You are freeing the skb, why ? Shouldn't we just keep the skb in the
> ring for further rx ?


Actually , short packets are not allowed to flow through the higher layers,
If any of the layer tried to use the extra room available may hit wit crash
.
Since it is a invalid packet it has to be dropped and freed in driver.
Actually if you see in code, the other invalid packets are also handelled
similar.


>
> > Signed-off-by: Sathya Narayanan <sathyan at teamf1.com>
> > Signed-off-by: Stefan Roese <sr at denx.de>
> > ---
> >  drivers/net/ibm_newemac/core.c |    7 +++++++
> >  1 files changed, 7 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/net/ibm_newemac/core.c
> b/drivers/net/ibm_newemac/core.c
> > index 6dfc2c9..aa407b2 100644
> > --- a/drivers/net/ibm_newemac/core.c
> > +++ b/drivers/net/ibm_newemac/core.c
> > @@ -1652,6 +1652,13 @@ static int emac_poll_rx(void *param, int budget)
> >
> >               skb_put(skb, len);
> >       push_packet:
> > +             if (skb->len < ETH_HLEN) {
> > +                     dev_kfree_skb(skb);
> > +                     printk(KERN_WARNING "%s: short packets dropped\n",
> > +                            dev->ndev->name);
> > +                     ++dev->estats.rx_dropped_stack;
> > +                     goto next;
> > +             }
> >               skb->dev = dev->ndev;
> >               skb->protocol = eth_type_trans(skb, dev->ndev);
> >               emac_rx_csum(dev, skb, ctrl);
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20080627/b1341c60/attachment.htm>


More information about the Linuxppc-dev mailing list