Author: rpaulo Date: Sun Aug 11 00:57:01 2013 New Revision: 254198 URL: http://svnweb.freebsd.org/changeset/base/254198
Log: fasttrap_fork(): unlock the processes before removing the tracepoints. In the future, we'll need to come up with new proc_*() functions that accept locked processes. For now, this prevents postgresql + DTrace from crashing the system. MFC after: 1 month Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Sat Aug 10 23:17:09 2013 (r254197) +++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Sun Aug 11 00:57:01 2013 (r254198) @@ -502,7 +502,13 @@ fasttrap_fork(proc_t *p, proc_t *cp) sprlock_proc(cp); mtx_unlock_spin(&cp->p_slock); #else + /* + * fasttrap_tracepoint_remove() expects the child process to be + * unlocked and the VM then expects curproc to be unlocked. + */ _PHOLD(cp); + PROC_UNLOCK(cp); + PROC_UNLOCK(p); #endif /* @@ -537,6 +543,8 @@ fasttrap_fork(proc_t *p, proc_t *cp) mutex_enter(&cp->p_lock); sprunlock(cp); #else + PROC_LOCK(p); + PROC_LOCK(cp); _PRELE(cp); #endif } _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"