+static void channel_print_errors(struct channel *chan,
+ struct lttng_ust_shm_handle *handle)
+{
+ const struct lttng_ust_lib_ring_buffer_config *config =
+ &chan->backend.config;
+ int cpu;
+
+ if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) {
+ for_each_possible_cpu(cpu) {
+ struct lttng_ust_lib_ring_buffer *buf =
+ shmp(handle, chan->backend.buf[cpu].shmp);
+ lib_ring_buffer_print_errors(chan, buf, cpu, handle);
+ }
+ } else {
+ struct lttng_ust_lib_ring_buffer *buf =
+ shmp(handle, chan->backend.buf[0].shmp);
+
+ lib_ring_buffer_print_errors(chan, buf, -1, handle);
+ }
+}
+
+static void channel_free(struct channel *chan,
+ struct lttng_ust_shm_handle *handle)