From owner-p4-projects@FreeBSD.ORG Sat Apr 29 02:14:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B88C16A402; Sat, 29 Apr 2006 02:14:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 249D916A400 for ; Sat, 29 Apr 2006 02:14:08 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E5F2243D48 for ; Sat, 29 Apr 2006 02:14:07 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T2E73r053859 for ; Sat, 29 Apr 2006 02:14:07 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T2E76r053856 for perforce@freebsd.org; Sat, 29 Apr 2006 02:14:07 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 02:14:07 GMT Message-Id: <200604290214.k3T2E76r053856@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96347 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Apr 2006 02:14:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=96347 Change 96347 by jb@jb_freebsd2 on 2006/04/29 02:13:53 Register and de-register the instruction size function pointer with the trap() handler for kaboom-avoidance during probes. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#11 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#10 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#11 (text+ko) ==== @@ -35,6 +35,9 @@ dtrace_enabling_t *enab; int error = 0; + /* Hang our hook for DTrace traps during probes. */ + dtrace_instr_size_func = dtrace_instr_size; + /* * XXX This is a short term hack to avoid having to comment * out lots and lots of lock/unlock calls. @@ -161,6 +164,8 @@ dtrace_probeid_error = dtrace_probe_create((dtrace_provider_id_t) dtrace_provider, NULL, NULL, "ERROR", 1, NULL); +dtrace_err_verbose = 1; + dtrace_anon_property(); mutex_exit(&cpu_lock); ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#10 (text+ko) ==== @@ -153,5 +153,9 @@ dtrace_mutex_destroy(&cpu_lock); dtrace_mutex_destroy(&mod_lock); + /* Reset our hook for DTrace traps during probes. */ + dtrace_instr_size_func = NULL; + + return (error); }