Module Name:    src
Committed By:   ahoka
Date:           Fri Apr 23 11:39:53 UTC 2010

Modified Files:
        src/external/cddl/osnet/dev/dtrace: dtrace_sysctl.c dtrace_unload.c
        src/external/cddl/osnet/dev/dtrace/amd64: dtrace_subr.c
        src/external/cddl/osnet/dev/dtrace/i386: dtrace_subr.c
        src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
Remove a couple of zero length kmem_frees.

It should fix at least one crash when unloading the dtrace module,
possibly many others.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/dev/dtrace/dtrace_sysctl.c \
    src/external/cddl/osnet/dev/dtrace/dtrace_unload.c
cvs rdiff -u -r1.3 -r1.4 \
    src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c
cvs rdiff -u -r1.4 -r1.5 \
    src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c
cvs rdiff -u -r1.10 -r1.11 \
    src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dev/dtrace/dtrace_sysctl.c
diff -u src/external/cddl/osnet/dev/dtrace/dtrace_sysctl.c:1.2 src/external/cddl/osnet/dev/dtrace/dtrace_sysctl.c:1.3
--- src/external/cddl/osnet/dev/dtrace/dtrace_sysctl.c:1.2	Sun Feb 21 01:46:33 2010
+++ src/external/cddl/osnet/dev/dtrace/dtrace_sysctl.c	Fri Apr 23 11:39:52 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_sysctl.c,v 1.2 2010/02/21 01:46:33 darran Exp $	*/
+/*	$NetBSD: dtrace_sysctl.c,v 1.3 2010/04/23 11:39:52 ahoka Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -76,7 +76,7 @@
 	if (p_name != NULL) {
 		error = sysctl_handle_string(oidp, p_name, len, req);
 
-		kmem_free(p_name, 0);
+		kmem_free(p_name, len);
 	}
 
 	return (error);
Index: src/external/cddl/osnet/dev/dtrace/dtrace_unload.c
diff -u src/external/cddl/osnet/dev/dtrace/dtrace_unload.c:1.2 src/external/cddl/osnet/dev/dtrace/dtrace_unload.c:1.3
--- src/external/cddl/osnet/dev/dtrace/dtrace_unload.c:1.2	Sun Feb 21 01:46:33 2010
+++ src/external/cddl/osnet/dev/dtrace/dtrace_unload.c	Fri Apr 23 11:39:52 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_unload.c,v 1.2 2010/02/21 01:46:33 darran Exp $	*/
+/*	$NetBSD: dtrace_unload.c,v 1.3 2010/04/23 11:39:52 ahoka Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -92,7 +92,7 @@
 	vmem_destroy(dtrace_arena);
 
 	if (dtrace_toxrange != NULL) {
-		kmem_free(dtrace_toxrange, 0);
+		kmem_free(dtrace_toxrange, sizeof (dtrace_toxrange_t *);
 		dtrace_toxrange = NULL;
 		dtrace_toxranges = 0;
 		dtrace_toxranges_max = 0;

Index: src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c
diff -u src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.3 src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.4
--- src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.3	Sat Mar 13 22:31:15 2010
+++ src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c	Fri Apr 23 11:39:53 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_subr.c,v 1.3 2010/03/13 22:31:15 christos Exp $	*/
+/*	$NetBSD: dtrace_subr.c,v 1.4 2010/04/23 11:39:53 ahoka Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -110,7 +110,7 @@
 		prev->dtih_next = hdlr->dtih_next;
 	}
 
-	kmem_free(hdlr, 0);
+	kmem_free(hdlr, sizeof (dtrace_invop_hdlr_t));
 }
 
 /*ARGSUSED*/

Index: src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c
diff -u src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.4 src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.5
--- src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.4	Thu Mar 18 13:45:54 2010
+++ src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c	Fri Apr 23 11:39:53 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_subr.c,v 1.4 2010/03/18 13:45:54 tron Exp $	*/
+/*	$NetBSD: dtrace_subr.c,v 1.5 2010/04/23 11:39:53 ahoka Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -113,7 +113,7 @@
 		prev->dtih_next = hdlr->dtih_next;
 	}
 
-	kmem_free(hdlr, 0);
+	kmem_free(hdlr, sizeof (dtrace_invop_hdlr_t));
 }
 
 void

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.10 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.11
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.10	Sat Mar 13 22:31:15 2010
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Fri Apr 23 11:39:53 2010
@@ -11854,19 +11854,19 @@
 	freeenv(p_env);
 
 	if (len < sizeof (dof_hdr_t)) {
-		kmem_free(buf, 0);
+		kmem_free(buf, len);
 		dtrace_dof_error(NULL, "truncated header");
 		return (NULL);
 	}
 
 	if (len < (loadsz = dof->dofh_loadsz)) {
-		kmem_free(buf, 0);
+		kmem_free(buf, len);
 		dtrace_dof_error(NULL, "truncated DOF");
 		return (NULL);
 	}
 
 	if (loadsz >= dtrace_dof_maxsize) {
-		kmem_free(buf, 0);
+		kmem_free(buf, len);
 		dtrace_dof_error(NULL, "oversized DOF");
 		return (NULL);
 	}

Reply via email to