Folks, On Tue, 2008-12-02 at 09:41 -0500, Sebastien Roy wrote: > I have a proposed fix for: > > 6774464 assertion failure in net_hook_register() when running zone tests > > The webrev is here: > > http://cr.opensolaris.org/~seb/webrev.6774464/
A few issues came up during my final testing[1] for this fix: 1. I noticed a netstack reference leak in ipnet_if_init(). I've filed the following bug to track that and have included the fix in this wad: 6784207 netstack reference leak in ipnet_if_init() 2. Returning failure from ipnet_populate_if() when the net handle is NULL wasn't the right thing to do. What would end up happening is that if ipnet was being loaded while one stack was shutting down, the entire module _init() would fail. For example, if someone were trying to run snoop in the global zone while a non-global zone was shutting down, the result was "Network is down" (ipnet_populate_if() on the stack that was shutting down return ENETDOWN). While having an application failing with ENETDOWN is better than the system crashing, it's still not polite to have the activities of one zone affect processes in another. Having ipnet_populate_if() silently fail in this case by returning 0 results in processes not being impacted by zones other than the one in which they're running being in the process of shutting down. Could you please take another look at the webrev? The URL above is still valid. Thanks, -Seb [1] I updated the Public Comments in 6774464 to describe what I did for testing. I came up with a reproducible test case by running two scripts in parallel; one that boots and halts a zone, and another that loads and unloads ipnet.
