X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-app.c;h=891d75f7c000b287a5707e702ef04a972f398ac3;hb=7ffc31a26846c17bbb31a86ece6471f769805633;hp=784a49ce06f7eb61dd8afa3d8b99bfadaf33c547;hpb=6c1c0768320135c6936c371b09731851b508c023;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/ust-app.c b/src/bin/lttng-sessiond/ust-app.c index 784a49ce0..891d75f7c 100644 --- a/src/bin/lttng-sessiond/ust-app.c +++ b/src/bin/lttng-sessiond/ust-app.c @@ -1969,6 +1969,7 @@ no_match: /* * Lookup for an ust app context from an lttng_ust_context. * + * Must be called while holding RCU read side lock. * Return an ust_app_ctx object or NULL on error. */ static @@ -5151,10 +5152,12 @@ unsigned int ust_app_get_nb_stream(struct ltt_ust_session *usess) cds_list_for_each_entry(reg, &usess->buffer_reg_uid_list, lnode) { struct buffer_reg_channel *reg_chan; + rcu_read_lock(); cds_lfht_for_each_entry(reg->registry->channels->ht, &iter.iter, reg_chan, node.node) { ret += reg_chan->stream_count; } + rcu_read_unlock(); } break; }