On Wed, 2008-12-31 at 03:54 -0500, Peter Memishian wrote:
> > Author:    meem <Peter.Memishian at Sun.COM>
>  > Changeset: 8533:66762dc10e32
>  > Comments:
>  > mcast_restart_timers_thread() may not always run when requested
>  > mcast_restart_timers_thread() panics on exit
>  > ilm_walker_step() should skip ILM_DELETE ILMs
>  > IPMP stress reveals igmp_input() ill_lock deadlock
>  > IPMP stress reveals race between ipif_free() and ill_src_ipif
>  > assorted comment fixes
> 
> This wad deserves some careful review; please see:
> 
>   http://zhadum.east/ws/clearview/clearview-ipmpdev/webrev.ipfixes.2/

ip_multi.c:

1950: In the case where ill is an underlying interface, we're calling
ill_ilm_walker_hold() on ill, but not on ilw_ipmp_ill (the IPMP
interface).  Can that lead to ilm's on the IPMP interface returned by
the ilm_walker_*() being manipulated or deleted by other threads while
referenced by the caller?

1642: This function's implementation is a bit twisted given the comment
above it that states that it's only used for IPv4.  If that's the case,
then why go through the trouble of converting things to IPv6 addresses
to compare against ilm_v6addr instead of just comparing against
ilm_addr?  Anyway, that's not your doing, it was like that before.

1966: ilm_walker_step_helper() is only used by ilm_walker_step(), so it
should be static.  Perhaps ilm_walker_step_all() would be more
descriptive (just a suggestion).

-Seb



Reply via email to