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
The Coverity checker spotted the following NULL dereference of skb in
drivers/usb/gadget/ether.c:
-- snip --
...
static int
rx_submit (struct eth_dev *dev, struct usb_request *req, gfp_t gfp_flags)
{
struct sk_buff *skb;
int retval = -ENOMEM;
...
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
On Sat, Nov 11, 2006 at 10:35:48PM -0800, David Brownell wrote:
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.
...
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()