Date: Fri, 30 Jan 2015 05:03:24 +0000 (UTC) From: Mark Johnston <markj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r277915 - head/sys/cddl/contrib/opensolaris/uts/common/dtrace Message-ID: <201501300503.t0U53OUI076513@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: markj Date: Fri Jan 30 05:03:23 2015 New Revision: 277915 URL: https://svnweb.freebsd.org/changeset/base/277915 Log: Don't attempt to disable enabled fasttrap probes in an exiting process. There's no need to do so, and we can't hold an exiting process, so this race can result in panics. MFC after: 1 week 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 Fri Jan 30 04:51:59 2015 (r277914) +++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Fri Jan 30 05:03:23 2015 (r277915) @@ -1296,8 +1296,13 @@ fasttrap_pid_disable(void *arg, dtrace_i */ if ((p = pfind(probe->ftp_pid)) != NULL) { #ifdef __FreeBSD__ - _PHOLD(p); - PROC_UNLOCK(p); + if (p->p_flag & P_WEXIT) { + PROC_UNLOCK(p); + p = NULL; + } else { + _PHOLD(p); + PROC_UNLOCK(p); + } #endif }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201501300503.t0U53OUI076513>