Fix: Missing RCU read lock in kernel_destroy_session()
[lttng-tools.git] / src / bin / lttng-sessiond / kernel.c
index b7426972c7991a9b1759c3c8b479f0def6eecf73..6b404c0ed97f260d3517d91044315ff8877ec9d7 100644 (file)
@@ -174,6 +174,7 @@ error:
 /*
  * Create a kernel event, enable it to the kernel tracer and add it to the
  * channel event list of the kernel session.
+ * We own filter_expression and filter.
  */
 int kernel_create_event(struct lttng_event *ev,
                struct ltt_kernel_channel *channel)
@@ -793,6 +794,7 @@ void kernel_destroy_session(struct ltt_kernel_session *ksess)
                struct lttng_ht_iter iter;
 
                /* For each consumer socket. */
+               rcu_read_lock();
                cds_lfht_for_each_entry(ksess->consumer->socks->ht, &iter.iter,
                                socket, node.node) {
                        struct ltt_kernel_channel *chan;
@@ -806,6 +808,7 @@ void kernel_destroy_session(struct ltt_kernel_session *ksess)
                                }
                        }
                }
+               rcu_read_unlock();
        }
 
        /* Close any relayd session */
This page took 0.023326 seconds and 4 git commands to generate.