Hello! > > Also, probably, it makes sense to add neigh_lookup_light(), which does > > not take refcnt, but required to call > > neigh_release_light() (which is just rcu_read_unlock_bh()). > > Which code paths would that make sense on? > fib_detect_death (ok) > infiniband (ok) > wireless/strip (ok) -- hey, this code is crap it has > a refcount leak already! > arp_req_get (ok) > ndisc (ok) > > Perhaps killing the refcount all together, and just changing > everybody to neigh_lookup_rcu(). Nobody holds a long term reference > to the entries.
The only real user of refcnt is destination cache. It uses __neigh_lookup/__neigh_lookup_errno, which could also use neigh_lookup_rcu(), then do atomic_inc_not_zero() and, if it fails fall to neigh_create(). Alexey - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html