Fix: use MT-safe strtok_r in multithreaded context
[lttng-tools.git] / src / bin / lttng-sessiond / modprobe.c
index 66e80e75b26dbc1b5ae8bfa4e122c37136ceadfa..81e32bed95fe85eb9f10ebe98b878afd0bc15af3 100644 (file)
 
 /* LTTng kernel tracer mandatory core modules list */
 struct kern_modules_param kern_modules_control_core[] = {
-       { "lttng-ring-buffer-client-discard" },
-       { "lttng-ring-buffer-client-overwrite" },
-       { "lttng-ring-buffer-metadata-client" },
-       { "lttng-ring-buffer-client-mmap-discard" },
-       { "lttng-ring-buffer-client-mmap-overwrite" },
-       { "lttng-ring-buffer-metadata-mmap-client" },
+       { (char *) "lttng-ring-buffer-client-discard" },
+       { (char *) "lttng-ring-buffer-client-overwrite" },
+       { (char *) "lttng-ring-buffer-metadata-client" },
+       { (char *) "lttng-ring-buffer-client-mmap-discard" },
+       { (char *) "lttng-ring-buffer-client-mmap-overwrite" },
+       { (char *) "lttng-ring-buffer-metadata-mmap-client" },
 };
 
 /* LTTng kernel tracer probe modules list */
 struct kern_modules_param kern_modules_probes_default[] = {
-       { "lttng-probe-asoc" },
-       { "lttng-probe-block" },
-       { "lttng-probe-btrfs" },
-       { "lttng-probe-compaction" },
-       { "lttng-probe-ext3" },
-       { "lttng-probe-ext4" },
-       { "lttng-probe-gpio" },
-       { "lttng-probe-i2c" },
-       { "lttng-probe-irq" },
-       { "lttng-probe-jbd" },
-       { "lttng-probe-jbd2" },
-       { "lttng-probe-kmem" },
-       { "lttng-probe-kvm" },
-       { "lttng-probe-kvm-x86" },
-       { "lttng-probe-kvm-x86-mmu" },
-       { "lttng-probe-lock" },
-       { "lttng-probe-module" },
-       { "lttng-probe-napi" },
-       { "lttng-probe-net" },
-       { "lttng-probe-power" },
-       { "lttng-probe-preemptirq" },
-       { "lttng-probe-printk" },
-       { "lttng-probe-random" },
-       { "lttng-probe-rcu" },
-       { "lttng-probe-regmap" },
-       { "lttng-probe-regulator" },
-       { "lttng-probe-rpm" },
-       { "lttng-probe-sched" },
-       { "lttng-probe-scsi" },
-       { "lttng-probe-signal" },
-       { "lttng-probe-skb" },
-       { "lttng-probe-sock" },
-       { "lttng-probe-statedump" },
-       { "lttng-probe-sunrpc" },
-       { "lttng-probe-timer" },
-       { "lttng-probe-udp" },
-       { "lttng-probe-vmscan" },
-       { "lttng-probe-v4l2" },
-       { "lttng-probe-workqueue" },
-       { "lttng-probe-writeback" },
-       { "lttng-probe-x86-irq-vectors" },
-       { "lttng-probe-x86-exceptions" },
+       { (char *) "lttng-probe-asoc" },
+       { (char *) "lttng-probe-block" },
+       { (char *) "lttng-probe-btrfs" },
+       { (char *) "lttng-probe-compaction" },
+       { (char *) "lttng-probe-ext3" },
+       { (char *) "lttng-probe-ext4" },
+       { (char *) "lttng-probe-gpio" },
+       { (char *) "lttng-probe-i2c" },
+       { (char *) "lttng-probe-irq" },
+       { (char *) "lttng-probe-jbd" },
+       { (char *) "lttng-probe-jbd2" },
+       { (char *) "lttng-probe-kmem" },
+       { (char *) "lttng-probe-kvm" },
+       { (char *) "lttng-probe-kvm-x86" },
+       { (char *) "lttng-probe-kvm-x86-mmu" },
+       { (char *) "lttng-probe-lock" },
+       { (char *) "lttng-probe-module" },
+       { (char *) "lttng-probe-napi" },
+       { (char *) "lttng-probe-net" },
+       { (char *) "lttng-probe-power" },
+       { (char *) "lttng-probe-preemptirq" },
+       { (char *) "lttng-probe-printk" },
+       { (char *) "lttng-probe-random" },
+       { (char *) "lttng-probe-rcu" },
+       { (char *) "lttng-probe-regmap" },
+       { (char *) "lttng-probe-regulator" },
+       { (char *) "lttng-probe-rpm" },
+       { (char *) "lttng-probe-sched" },
+       { (char *) "lttng-probe-scsi" },
+       { (char *) "lttng-probe-signal" },
+       { (char *) "lttng-probe-skb" },
+       { (char *) "lttng-probe-sock" },
+       { (char *) "lttng-probe-statedump" },
+       { (char *) "lttng-probe-sunrpc" },
+       { (char *) "lttng-probe-timer" },
+       { (char *) "lttng-probe-udp" },
+       { (char *) "lttng-probe-vmscan" },
+       { (char *) "lttng-probe-v4l2" },
+       { (char *) "lttng-probe-workqueue" },
+       { (char *) "lttng-probe-writeback" },
+       { (char *) "lttng-probe-x86-irq-vectors" },
+       { (char *) "lttng-probe-x86-exceptions" },
 };
 
 /* dynamic probe modules list */
@@ -486,7 +486,7 @@ static int append_list_to_probes(const char *list)
 {
        char *next;
        int ret;
-       char *tmp_list, *cur_list;
+       char *tmp_list, *cur_list, *saveptr;
 
        assert(list);
 
@@ -500,7 +500,7 @@ static int append_list_to_probes(const char *list)
                size_t name_len;
                struct kern_modules_param *cur_mod;
 
-               next = strtok(cur_list, ",");
+               next = strtok_r(cur_list, ",", &saveptr);
                if (!next) {
                        break;
                }
This page took 0.027125 seconds and 4 git commands to generate.