Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

[NET]: Fix race in generic address resolution.

neigh_update sends skb from neigh->arp_queue while neigh_timer_handler
has increased skbs refcount and calls solicit with the
skb. neigh_timer_handler should not increase skbs refcount but make a
copy of the skb and do solicit with the copy.

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Frank Blaschka and committed by
David S. Miller
7e36763b c3d84a4d

+1 -1
+1 -1
net/core/neighbour.c
··· 839 839 struct sk_buff *skb = skb_peek(&neigh->arp_queue); 840 840 /* keep skb alive even if arp_queue overflows */ 841 841 if (skb) 842 - skb_get(skb); 842 + skb = skb_copy(skb, GFP_ATOMIC); 843 843 write_unlock(&neigh->lock); 844 844 neigh->ops->solicit(neigh, skb); 845 845 atomic_inc(&neigh->probes);