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.



Reply via email to