static struct packet_type x25_packet_type = {
.type = __constant_htons(ETH_P_X25),
.func = x25_lapb_receive_frame,
+ .data = PKT_CAN_SHARE_SKB,
};
struct notifier_block x25_dev_notifier = {
int x25_lapb_receive_frame(struct sk_buff *skb, struct net_device *dev,
struct packet_type *ptype)
{
+ struct sk_buff *nskb;
struct x25_neigh *nb;
- skb->sk = NULL;
+ nskb = skb_copy(skb, GFP_ATOMIC);
+ if (!nskb)
+ goto drop;
+ kfree_skb(skb);
+ skb = nskb;
/*
* Packet received from unrecognised device, throw it away.