summaryrefslogtreecommitdiffstats
path: root/net/netrom/nr_loopback.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/netrom/nr_loopback.c')
-rw-r--r--net/netrom/nr_loopback.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/netrom/nr_loopback.c b/net/netrom/nr_loopback.c
index 5290ae024..519ca55da 100644
--- a/net/netrom/nr_loopback.c
+++ b/net/netrom/nr_loopback.c
@@ -44,10 +44,10 @@ int nr_loopback_queue(struct sk_buff *skb)
{
struct sk_buff *skbn;
- if ((skbn = alloc_skb(skb->len, GFP_ATOMIC)) != NULL) {
- memcpy(skb_put(skbn, skb->len), skb->data, skb->len);
- skbn->h.raw = skbn->data;
+ skbn = skb_clone(skb, GFP_ATOMIC);
+ kfree(skb);
+ if (skbn != NULL) {
skb_queue_tail(&loopback_queue, skbn);
if (!nr_loopback_running())