Fix: Missing RCU read lock in kernel_destroy_session()
[lttng-tools.git] / src / bin / lttng-sessiond / kernel.c
index 1fae30f0ad7372bdd2f439d10b1044181048f127..fc95302fccb9336332df0517b32dfec5a02954d5 100644 (file)
@@ -171,6 +171,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)
@@ -766,6 +767,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;
@@ -779,6 +781,7 @@ void kernel_destroy_session(struct ltt_kernel_session *ksess)
                                }
                        }
                }
+               rcu_read_unlock();
        }
 
        /* Close any relayd session */
This page took 0.0247 seconds and 4 git commands to generate.