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

From: David Brownell
Date: Sun Nov 12 2006 - 01:36:35 EST


On Saturday 11 November 2006 8:06 am, Adrian Bunk wrote:
> The Coverity checker spotted the following NULL dereference of "skb" in
> drivers/usb/gadget/ether.c:

I don't see such a dereference. As usual, free(NULL) is legit.

Is this another case of bogus reports from Coverity? I still need to
revert a bug in the EHCI debug code caused by someone "fixing" it
because Coverity doesn't understand unions...


> <-- snip -->
>
> ...
> static int
> rx_submit (struct eth_dev *dev, struct usb_request *req, gfp_t gfp_flags)
> {
> struct sk_buff *skb;
> int retval = -ENOMEM;
> ...
> if ((skb = alloc_skb (size + NET_IP_ALIGN, gfp_flags)) == 0) {
> DEBUG (dev, "no rx skb\n");
> goto enomem;
> }
> ...
> enomem:
> defer_kevent (dev, WORK_RX_MEMORY);
> if (retval) {
> DEBUG (dev, "rx submit --> %d\n", retval);
> dev_kfree_skb_any (skb);
> ...
>
> <-- snip -->
>
> cu
> Adrian
>
-
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/