[NET]: Fix race in generic address resolution.
[deliverable/linux.git] / net / core / neighbour.c
index aef01533dfb6ca2ed6dbc636ba58dc4ca490492d..d9a02b2cc28940d1dde4f5f7ee6064f9581b046b 100644 (file)
@@ -839,7 +839,7 @@ static void neigh_timer_handler(unsigned long arg)
                struct sk_buff *skb = skb_peek(&neigh->arp_queue);
                /* keep skb alive even if arp_queue overflows */
                if (skb)
-                       skb_get(skb);
+                       skb = skb_copy(skb, GFP_ATOMIC);
                write_unlock(&neigh->lock);
                neigh->ops->solicit(neigh, skb);
                atomic_inc(&neigh->probes);
This page took 0.026027 seconds and 5 git commands to generate.