#include "dtrace_dev.h"
#include <linux/dtrace/ioctl_debug.h>
-uint32_t dtrace_helptrace_next = 0;
-uint32_t dtrace_helptrace_nlocals;
-char *dtrace_helptrace_buffer;
-int dtrace_helptrace_bufsize = 512 * 1024;
-
-#ifdef CONFIG_DT_DEBUG
-int dtrace_helptrace_enabled = 1;
-#else
-int dtrace_helptrace_enabled = 0;
-#endif
+extern char *dtrace_helptrace_buffer;
+extern int dtrace_helptrace_bufsize;
+extern int dtrace_helptrace_enabled;
int dtrace_opens;
int dtrace_err_verbose;
ASSERT(dtrace_helptrace_buffer == NULL);
dtrace_helptrace_buffer = vzalloc(dtrace_helptrace_bufsize);
- dtrace_helptrace_next = 0;
if (dtrace_helptrace_buffer == NULL) {
pr_warn("Cannot allocate helptrace buffer; "
*/
dtrace_for_each_module(module_del_pdata, NULL);
+ /*
+ * If DTrace helper tracing is enabled, we need to free the trace
+ * buffer.
+ */
+ if (dtrace_helptrace_enabled || dtrace_helptrace_buffer)
+ vfree(dtrace_helptrace_buffer);
+
kmem_cache_destroy(dtrace_state_cachep);
kmem_cache_destroy(dtrace_pdata_cachep);
static uint32_t dtrace_helptrace_next = 0;
static uint32_t dtrace_helptrace_nlocals;
-static char *dtrace_helptrace_buffer;
-static int dtrace_helptrace_bufsize = 512 * 1024;
#ifdef CONFIG_DT_DEBUG
-static int dtrace_helptrace_enabled = 1;
+int dtrace_helptrace_enabled = 1;
#else
-static int dtrace_helptrace_enabled = 0;
+int dtrace_helptrace_enabled = 0;
#endif
+int dtrace_helptrace_bufsize = 512 * 1024;
+char *dtrace_helptrace_buffer;
void dtrace_dof_error(dof_hdr_t *dof, const char *str)
{