Re: neighbour.c and NUD_IN_TIMER (netdev unregister problem fixed!?!)

2005-09-06 Thread David S. Miller
From: Ben Greear <[EMAIL PROTECTED]> Date: Tue, 06 Sep 2005 20:24:38 -0700 > How about this call site? The check is for new & NUD_IN_TIMER, > but there is no guarantee (that I can see) that neigh->nud_timer > has any of the NUD_IN_TIMER bits set. The one place earlier > that sets neigh->nud_time

Re: neighbour.c and NUD_IN_TIMER (netdev unregister problem fixed!?!)

2005-09-06 Thread Ben Greear
Ben Greear wrote: David S. Miller wrote: From: Ben Greear <[EMAIL PROTECTED]> Date: Tue, 06 Sep 2005 16:03:36 -0700 At any rate, I'll be happy to see this fix go in unless someone finds a problem with it! As Yoshifuji showed, NUD_INCOMPLETE is a part of the bitmask NUD_IN_TIMER, as is NU

Re: neighbour.c and NUD_IN_TIMER (netdev unregister problem fixed!?!)

2005-09-06 Thread Ben Greear
David S. Miller wrote: From: Ben Greear <[EMAIL PROTECTED]> Date: Tue, 06 Sep 2005 16:03:36 -0700 At any rate, I'll be happy to see this fix go in unless someone finds a problem with it! As Yoshifuji showed, NUD_INCOMPLETE is a part of the bitmask NUD_IN_TIMER, as is NUD_DELAY and a few oth

Re: neighbour.c and NUD_IN_TIMER (netdev unregister problem fixed!?!)

2005-09-06 Thread David S. Miller
From: Ben Greear <[EMAIL PROTECTED]> Date: Tue, 06 Sep 2005 16:03:36 -0700 > At any rate, I'll be happy to see this fix go in unless someone > finds a problem with it! As Yoshifuji showed, NUD_INCOMPLETE is a part of the bitmask NUD_IN_TIMER, as is NUD_DELAY and a few others. So it is actually a

Re: neighbour.c and NUD_IN_TIMER

2005-09-06 Thread David S. Miller
From: YOSHIFUJI Hideaki <[EMAIL PROTECTED]> Date: Wed, 07 Sep 2005 08:36:41 +0900 (JST) > In article <[EMAIL PROTECTED]> (at Tue, 06 Sep 2005 13:05:16 -0700), Ben > Greear <[EMAIL PROTECTED]> says: > > > neigh->nud_state = NUD_INCOMPLETE; > > *** neigh_hol

Re: neighbour.c and NUD_IN_TIMER

2005-09-06 Thread YOSHIFUJI Hideaki / 吉藤英明
In article <[EMAIL PROTECTED]> (at Tue, 06 Sep 2005 13:05:16 -0700), Ben Greear <[EMAIL PROTECTED]> says: > neigh->nud_state = NUD_INCOMPLETE; > *** neigh_hold(neigh, NDRK_NEIGH_TIMER); > neigh->timer.expires = now + 1; >

Re: neighbour.c and NUD_IN_TIMER (netdev unregister problem fixed!?!)

2005-09-06 Thread Ben Greear
David S. Miller wrote: From: Ben Greear <[EMAIL PROTECTED]> Date: Tue, 06 Sep 2005 14:37:26 -0700 I'm also attaching a patch that just fixes the problem, with no debugging info. (Compiled but not tested by itself.) Signed-off-by Ben Greear <[EMAIL PROTECTED]> Thanks for tracking this down

Re: neighbour.c and NUD_IN_TIMER (netdev unregister problem fixed!?!)

2005-09-06 Thread David S. Miller
From: Ben Greear <[EMAIL PROTECTED]> Date: Tue, 06 Sep 2005 14:37:26 -0700 > I'm also attaching a patch that just fixes the problem, > with no debugging info. (Compiled but not tested by > itself.) > > Signed-off-by Ben Greear <[EMAIL PROTECTED]> Thanks for tracking this down, I'll review it mo

Re: neighbour.c and NUD_IN_TIMER (netdev unregister problem fixed!?!)

2005-09-06 Thread Ben Greear
Ben Greear wrote: If my debugging code is correct, I've tracked down the leaked neighbour structure as being referenced here: if (!(neigh->nud_state & (NUD_STALE | NUD_INCOMPLETE))) { if (neigh->parms->mcast_probes + neigh->parms->app_probes) { atomic_set(&neigh->probes,

neighbour.c and NUD_IN_TIMER

2005-09-06 Thread Ben Greear
If my debugging code is correct, I've tracked down the leaked neighbour structure as being referenced here: if (!(neigh->nud_state & (NUD_STALE | NUD_INCOMPLETE))) { if (neigh->parms->mcast_probes + neigh->parms->app_probes) { atomic_set(&neigh->pro