Subject: Re: neigh_create/inetdev_destroy race?

From: "David S. Miller" <[email-masked]>
Date: Sun, 15 Aug 2004 19:14:50 -0700

On Sat, 14 Aug 2004 16:27:03 +1000
Herbert Xu <[email-masked]> wrote:

> Is there any thing that prevents the following scenario from occuring?
> 
> CPU0					CPU1
> neigh_create
> 					inet_del_ifa
> 						notifier_call_chain
> 							neigh_ifdown
> 						inetdev_destroy
> 	arp_constructor
> 		neigh->parms =
> 			in_dev->arp_parms
> 							in_dev->dead = 1
> 							in_dev->dev->ip_ptr =
> 								NULL
> 							neigh_parms_release
> 	n->parms->neigh_setup => BUG

Is there anything other than hostess_sv11.c, sealevel.c, and shaper.c
which are using n->parms->neigh_setup at all?

This seems to be a very obscure special case hack, which perhaps we
can removee entirely.