From: Linas Vepstas Date: Mon, 11 Jun 2007 18:17:02 +0000 (-0500) Subject: spidernet: null out skb pointer after its been used. X-Git-Tag: v2.6.22-rc6~68 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83d35145c443d8394aaf1743301e79fa0a8054d7;p=linux-2.6 spidernet: null out skb pointer after its been used. Avoid kernel crash in mm/slab.c due to double-free of pointer. If the ethernet interface is brought down while there is still RX traffic in flight, the device shutdown routine can end up trying to double-free an skb, leading to a crash in mm/slab.c Avoid the double-free by nulling out the skb pointer. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c index b47ad1df2e..69005d113d 100644 --- a/drivers/net/spider_net.c +++ b/drivers/net/spider_net.c @@ -1131,6 +1131,7 @@ spider_net_decode_one_descr(struct spider_net_card *card) /* Ok, we've got a packet in descr */ spider_net_pass_skb_up(descr, card); + descr->skb = NULL; hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE; return 1;