]> git.hungrycats.org Git - linux/commit
[NET]: Fix race between neigh-timer_handler and neigh_event_send
authorGreg Banks <gnb@sgi.com>
Tue, 5 Oct 2004 04:37:55 +0000 (21:37 -0700)
committerDavid S. Miller <davem@nuts.davemloft.net>
Tue, 5 Oct 2004 04:37:55 +0000 (21:37 -0700)
commitbb2f7bea75941865aaed23033c33cdbbbc7d1dfd
tree20b43469ddb39bded71ec6d005168c122d91ad6d
parent42f1b5417d1f065319f89f0c901798cf51cd4b91
[NET]: Fix race between neigh-timer_handler and neigh_event_send

Fix a race between neigh_timer_handler() calling down to arp_solicit()
with an sk_buff peeked from the head of the neigh->arp_queue, and
neigh_event_send() unqueuing and freeing the head of the same queue
because it's reached the maximum length of 3, by taking an extra
sk_buff reference while holding neigh->lock.

Signed-off-by: Greg Banks <gnb@melbourne.sgi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/neighbour.c