fix: add fallthrough annotations (-Wimplicit-fallthrough)
[lttng-ust.git] / liblttng-ust / lttng-ust-abi.c
index 53ca5dbe28ef7f2f8dfc82344cc7b5d454bf627d..df404de77e76d5a1c876a27e9a6c34819bc637b4 100644 (file)
@@ -292,8 +292,8 @@ int lttng_is_channel_ready(struct lttng_ust_channel_buffer *lttng_chan)
        struct lttng_ust_lib_ring_buffer_channel *chan;
        unsigned int nr_streams, exp_streams;
 
-       chan = lttng_chan->chan;
-       nr_streams = channel_handle_get_nr_streams(lttng_chan->handle);
+       chan = lttng_chan->priv->rb_chan;
+       nr_streams = channel_handle_get_nr_streams(lttng_chan->priv->rb_chan->handle);
        exp_streams = chan->nr_streams;
        return nr_streams == exp_streams;
 }
@@ -502,6 +502,11 @@ int lttng_abi_map_channel(int session_objd,
                goto alloc_error;
        }
 
+       if (lttng_ust_session_uuid_validate(session, lttng_chan_config->uuid)) {
+               ret = -EINVAL;
+               goto uuid_error;
+       }
+
        /* Lookup transport name */
        switch (type) {
        case LTTNG_UST_ABI_CHAN_PER_CPU:
@@ -549,10 +554,9 @@ int lttng_abi_map_channel(int session_objd,
 
        lttng_chan_buf->priv->parent.tstate = 1;
        lttng_chan_buf->priv->ctx = NULL;
+       lttng_chan_buf->priv->rb_chan = chan;
 
        lttng_chan_buf->ops = &transport->ops;
-       lttng_chan_buf->chan = chan;
-       lttng_chan_buf->handle = channel_handle;
 
        memcpy(&chan->backend.config,
                transport->client_config,
@@ -578,6 +582,7 @@ int lttng_abi_map_channel(int session_objd,
        /* error path after channel was created */
 objd_error:
 notransport:
+uuid_error:
 alloc_error:
        channel_destroy(chan, channel_handle, 0);
        lttng_ust_free_channel_common(lttng_chan_buf->parent);
@@ -1114,7 +1119,7 @@ int lttng_abi_map_stream(int channel_objd, struct lttng_ust_abi_stream *info,
        struct lttng_ust_channel_buffer *lttng_chan_buf = objd_private(channel_objd);
        int ret;
 
-       ret = channel_handle_add_stream(lttng_chan_buf->handle,
+       ret = channel_handle_add_stream(lttng_chan_buf->priv->rb_chan->handle,
                uargs->stream.shm_fd, uargs->stream.wakeup_fd,
                info->stream_nr, info->len);
        if (ret)
@@ -1245,8 +1250,7 @@ long lttng_channel_cmd(int objd, unsigned int cmd, unsigned long arg,
        case LTTNG_UST_ABI_DISABLE:
                return lttng_channel_disable(lttng_chan_buf->parent);
        case LTTNG_UST_ABI_FLUSH_BUFFER:
-               return lttng_chan_buf->ops->priv->flush_buffer(lttng_chan_buf->chan,
-                               lttng_chan_buf->handle);
+               return lttng_chan_buf->ops->priv->flush_buffer(lttng_chan_buf);
        default:
                return -EINVAL;
        }
This page took 0.023868 seconds and 4 git commands to generate.