===================================================================== OpenSolaris compatibility headers --------------------------------------------------------------------- --- /u/freebsd/head/src/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c 2008-05-24 14:05:11.000000000 +1000 +++ /u/p4/dtrace/src/sys/cddl/compat/opensolaris/kern/opensolaris_kmem.c 2008-04-19 16:58:58.000000000 +1000 @@ -40,6 +40,8 @@ #include #include +#define KMEM_DEBUG + #ifdef KMEM_DEBUG #include #include @@ -93,6 +95,10 @@ zfs_kmem_free(void *buf, size_t size __unused) { #ifdef KMEM_DEBUG + if (buf == NULL) { + printf("%s: attempt to free NULL\n",__func__); + return; + } struct kmem_item *i; buf = (u_char *)buf - sizeof(struct kmem_item); @@ -236,7 +242,8 @@ } #ifdef KMEM_DEBUG -static void +void kmem_show(void *); +void kmem_show(void *dummy __unused) { struct kmem_item *i; @@ -248,12 +255,10 @@ printf("KMEM_DEBUG: Leaked elements:\n\n"); LIST_FOREACH(i, &kmem_items, next) { printf("address=%p\n", i); - stack_print(&i->stack); - printf("\n"); } } mtx_unlock(&kmem_items_mtx); } -SYSUNINIT(sol_kmem, SI_SUB_DRIVERS, SI_ORDER_FIRST, kmem_show, NULL); +SYSUNINIT(sol_kmem, SI_SUB_CPU, SI_ORDER_FIRST, kmem_show, NULL); #endif /* KMEM_DEBUG */