From owner-svn-src-all@FreeBSD.ORG  Fri May 29 04:22:58 2015
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTPS id 647695A8;
 Fri, 29 May 2015 04:22:58 +0000 (UTC)
 (envelope-from markj@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 5297C1FB4;
 Fri, 29 May 2015 04:22:58 +0000 (UTC)
 (envelope-from markj@FreeBSD.org)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t4T4Mw2r079547;
 Fri, 29 May 2015 04:22:58 GMT (envelope-from markj@FreeBSD.org)
Received: (from markj@localhost)
 by svn.freebsd.org (8.14.9/8.14.9/Submit) id t4T4MwKt079546;
 Fri, 29 May 2015 04:22:58 GMT (envelope-from markj@FreeBSD.org)
Message-Id: <201505290422.t4T4MwKt079546@svn.freebsd.org>
X-Authentication-Warning: svn.freebsd.org: markj set sender to
 markj@FreeBSD.org using -f
From: Mark Johnston <markj@FreeBSD.org>
Date: Fri, 29 May 2015 04:22:58 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
 svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject: svn commit: r283677 -
 stable/10/sys/cddl/contrib/opensolaris/uts/common/dtrace
X-SVN-Group: stable-10
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
 user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all/>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
 <mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2015 04:22:58 -0000

Author: markj
Date: Fri May 29 04:22:57 2015
New Revision: 283677
URL: https://svnweb.freebsd.org/changeset/base/283677

Log:
  MFC r277915:
  Don't attempt to disable enabled fasttrap probes in an exiting process.
  
  MFC r277914:
  fasttrap_sigtrap(): use tdsendsignal() to send SIGTRAP.

Modified:
  stable/10/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
==============================================================================
--- stable/10/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c	Fri May 29 04:01:39 2015	(r283676)
+++ stable/10/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c	Fri May 29 04:22:57 2015	(r283677)
@@ -295,7 +295,7 @@ fasttrap_sigtrap(proc_t *p, kthread_t *t
 	ksi->ksi_code = TRAP_DTRACE;
 	ksi->ksi_addr = (caddr_t)pc;
 	PROC_LOCK(p);
-	(void) tdksignal(t, SIGTRAP, ksi);
+	(void) tdsendsignal(p, t, SIGTRAP, ksi);
 	PROC_UNLOCK(p);
 #endif
 }
@@ -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
 	}