Fix syscall tracing argument input
[lttng-modules.git] / ltt-probes.c
index e1ed2a3108d591a795f371affecbc1c7421294cb..94beb05b8f64e3cbd4667e70ffd488ae4de48160 100644 (file)
@@ -90,6 +90,7 @@ void *tp_list_start(struct seq_file *m, loff_t *pos)
        struct lttng_probe_desc *probe_desc;
        int iter = 0, i;
 
+       mutex_lock(&probe_mutex);
        list_for_each_entry(probe_desc, &probe_list, head) {
                for (i = 0; i < probe_desc->nr_events; i++) {
                        if (iter++ >= *pos)
@@ -120,6 +121,7 @@ void *tp_list_next(struct seq_file *m, void *p, loff_t *ppos)
 static
 void tp_list_stop(struct seq_file *m, void *p)
 {
+       mutex_unlock(&probe_mutex);
 }
 
 static
@@ -127,6 +129,11 @@ int tp_list_show(struct seq_file *m, void *p)
 {
        const struct lttng_event_desc *probe_desc = p;
 
+       /*
+        * Don't export lttng internal events (metadata).
+        */
+       if (!strncmp(probe_desc->name, "lttng_", sizeof("lttng_") - 1))
+               return 0;
        seq_printf(m,   "event { name = %s; };\n",
                   probe_desc->name);
        return 0;
@@ -150,5 +157,5 @@ const struct file_operations lttng_tracepoint_list_fops = {
        .open = lttng_tracepoint_list_open,
        .read = seq_read,
        .llseek = seq_lseek,
-       .release = seq_release_private,
+       .release = seq_release,
 };
This page took 0.02354 seconds and 4 git commands to generate.