Re: [linux-usb-devel] drivers/usb/gadget/ether.c: NULL dereference

From: Adrian Bunk
Date: Sun Nov 12 2006 - 07:24:56 EST


On Sat, Nov 11, 2006 at 11:10:17PM -0800, David Brownell wrote:
>
> >
> > void dev_kfree_skb_any(struct sk_buff *skb)
> > {
> > if (in_irq() || irqs_disabled())
> > dev_kfree_skb_irq(skb);
> > else
> > dev_kfree_skb(skb);
> > }
> >
> >
> > And the first thing dev_kfree_skb_irq() does is to dereference skb...
>
> Yet dev_kfree_skb() --> kfree_skb() starts with the standard idiom
>
> if (unlikely(!skb))
> return
>
> Seems to me that the finger of blame is more appropriately pointed
> at either dev_kfree_skb_any() or dev_kfree_skb_irq() ...
>...

Adding the net maintainers to the Cc:
Is there any reason why dev_kfree_skb_irq() has no NULL check for "skb"?

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
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/