]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r238309:
authortrociny <trociny@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 1 Sep 2012 10:27:18 +0000 (10:27 +0000)
committertrociny <trociny@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 1 Sep 2012 10:27:18 +0000 (10:27 +0000)
commitd66317571f5784347066991cdf288f9a795e8700
tree850b69979ddf61a5a7ca43723e060dba137e9a7e
parentcc39261248415b800664840b71c3d5a25f4584e2
MFC r238309:

In epair_clone_destroy(), when destroying the second half, we have to
switch to its vnet before calling ether_ifdetach(). Otherwise if the
second half resides in a different vnet, if_detach() silently fails
leaving a stale pointer in V_ifnet list, and the system crashes trying
to access this pointer later.

Another solution could be not to allow to destroy epair unless both
ends are in the home vnet.

Discussed with: bz
Tested by: delphij

git-svn-id: svn://svn.freebsd.org/base/stable/9@239980 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/net/if_epair.c