Conrad Meyer 0c40f3532d Fix cleanup race between unp_dispose and unp_gc
unp_dispose and unp_gc could race to teardown the same mbuf chains, which
can lead to dereferencing freed filedesc pointers.

This patch adds an IGNORE_RIGHTS flag on unpcbs marking the unpcb's RIGHTS
as invalid/freed. The flag is protected by UNP_LIST_LOCK.

To serialize against unp_gc, unp_dispose needs the socket object. Change the
dom_dispose() KPI to take a socket object instead of an mbuf chain directly.

PR:		194264
Differential Revision:	https://reviews.freebsd.org/D3044
Reviewed by:	mjg (earlier version)
Approved by:	markj (mentor)
Obtained from:	mjg
MFC after:	1 month
Sponsored by:	EMC / Isilon Storage Division
2015-07-14 02:00:50 +00:00
..
2015-04-22 14:38:58 +00:00
2015-06-30 17:00:45 +00:00
2015-01-22 11:12:42 +00:00
2015-06-30 17:00:45 +00:00
2015-06-12 10:01:24 +00:00
2015-06-12 10:01:24 +00:00
2015-01-22 11:12:42 +00:00
2015-06-12 10:01:24 +00:00
2015-04-22 14:38:58 +00:00
2014-03-14 06:29:43 +00:00
2015-06-30 17:00:45 +00:00
2014-06-26 13:57:44 +00:00
2014-08-11 15:06:07 +00:00
2015-01-22 11:12:42 +00:00
2015-06-10 10:48:12 +00:00
2015-07-11 15:22:11 +00:00
2015-07-11 15:22:11 +00:00
2015-07-11 15:22:11 +00:00
2015-06-10 10:48:12 +00:00
2014-11-30 12:52:33 +00:00
2015-03-17 14:16:50 +00:00