*/
rcv = rcu_dereference(sap->rcv_func);
if (rcv) {
- rcv(skb, dev, pt, orig_dev);
- goto out_put;
+ struct sk_buff *cskb = skb_clone(skb, GFP_ATOMIC);
+ if (cskb)
+ rcv(cskb, dev, pt, orig_dev);
}
dest = llc_pdu_type(skb);
if (unlikely(!dest || !llc_type_handlers[dest - 1]))