Browse Source

mac802154: rx: add error handling after skb_clone

This patch adds error handling after skb_clone and deliver only if
skb_clone was successful.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Alexander Aring 10 năm trước cách đây
mục cha
commit
05f7de6792
1 tập tin đã thay đổi với 6 bổ sung5 xóa
  1. 6 5
      net/mac802154/rx.c

+ 6 - 5
net/mac802154/rx.c

@@ -240,12 +240,13 @@ ieee802154_monitors_rx(struct ieee802154_local *local, struct sk_buff *skb)
 			continue;
 			continue;
 
 
 		skb2 = skb_clone(skb, GFP_ATOMIC);
 		skb2 = skb_clone(skb, GFP_ATOMIC);
-		skb2->dev = sdata->dev;
+		if (skb2) {
+			skb2->dev = sdata->dev;
+			ieee802154_deliver_skb(skb2);
 
 
-		ieee802154_deliver_skb(skb2);
-
-		sdata->dev->stats.rx_packets++;
-		sdata->dev->stats.rx_bytes += skb->len;
+			sdata->dev->stats.rx_packets++;
+			sdata->dev->stats.rx_bytes += skb->len;
+		}
 	}
 	}
 }
 }