Re: wan/hdlc_x25.c: fix a NULL dereference
From: Jeff Garzik <hidden>
Date: 2008-09-13 19:56:13
Krzysztof Halasa wrote:
quoted hunk ↗ jump to hunk
WAN: fixes a NULL dereference in hdlc_x25. Reported-by: Adrian Bunk <bunk@kernel.org>. Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>diff --git a/drivers/net/wan/hdlc_x25.c b/drivers/net/wan/hdlc_x25.c index 8b7e5d2..cbcbf6f 100644 --- a/drivers/net/wan/hdlc_x25.c +++ b/drivers/net/wan/hdlc_x25.c@@ -163,15 +163,17 @@ static void x25_close(struct net_device *dev) static int x25_rx(struct sk_buff *skb) { + struct net_device *dev = skb->dev; + if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) { - skb->dev->stats.rx_dropped++; + dev->stats.rx_dropped++; return NET_RX_DROP; } - if (lapb_data_received(skb->dev, skb) == LAPB_OK) + if (lapb_data_received(dev, skb) == LAPB_OK) return NET_RX_SUCCESS; - skb->dev->stats.rx_errors++; + dev->stats.rx_errors++; dev_kfree_skb_any(skb); return NET_RX_DROP;
applied