From: Krzysztof Halasa Date: Wed, 3 Sep 2008 16:21:56 +0000 (+0200) Subject: wan/hdlc_x25.c: fix a NULL dereference X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=54069511633ca9d5b4e5d45cf32ffea06697c88b;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git wan/hdlc_x25.c: fix a NULL dereference WAN: fixes a NULL dereference in hdlc_x25. Reported-by: Adrian Bunk . Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/wan/hdlc_x25.c b/drivers/net/wan/hdlc_x25.c index 8b7e5d2e2ac..cbcbf6f0414 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; }