Fix: sessiond: ODR violation results in memory corruption
[lttng-tools.git] / src / bin / lttng-sessiond / ust-metadata.cpp
index 566799efd08b2016e7ce24edeeadb3cd70937d04..3a2eb5ca2446b5042884d5917c468df281cb3bf5 100644 (file)
 
 #define NR_CLOCK_OFFSET_SAMPLES                10
 
+namespace {
 struct offset_sample {
-       int64_t offset;                 /* correlation offset */
-       uint64_t measure_delta;         /* lower is better */
+       /* correlation offset */
+       int64_t offset;
+       /* lower is better */
+       uint64_t measure_delta;
 };
+} /* namespace */
 
 static
 int _lttng_field_statedump(struct ust_registry_session *session,
@@ -906,12 +910,16 @@ end:
 
 /*
  * Should be called with session registry mutex held.
+ *
+ * RCU read lock must be held by the caller.
  */
 int ust_metadata_channel_statedump(struct ust_registry_session *session,
                struct ust_registry_channel *chan)
 {
        int ret;
 
+       ASSERT_RCU_READ_LOCKED();
+
        /* Don't dump metadata events */
        if (chan->chan_id == -1U)
                return 0;
This page took 0.023393 seconds and 4 git commands to generate.