#include "lttng-probe-user.h"
#include "../wrapper/vmalloc.h" /* for wrapper_vmalloc_sync_all() */
#include "../wrapper/ringbuffer/frontend_types.h"
+#include "../wrapper/rcu.h"
#include "../lttng-events.h"
#include "../lttng-tracer-core.h"
#define _ctf_string(_item, _src, _user, _nowrite) \
if (_user) \
__event_len += __dynamic_len[__dynamic_len_idx++] = \
- strlen(_src) + 1; \
+ max_t(size_t, lttng_strlen_user_inatomic(_src), 1); \
else \
__event_len += __dynamic_len[__dynamic_len_idx++] = \
- max_t(size_t, lttng_strlen_user_inatomic(_src), 1);
+ strlen(_src) + 1;
#undef TP_PROTO
#define TP_PROTO(...) __VA_ARGS__
return; \
if (unlikely(!ACCESS_ONCE(__event->enabled))) \
return; \
- __lpf = rcu_dereference(__session->pid_tracker); \
+ __lpf = lttng_rcu_dereference(__session->pid_tracker); \
if (__lpf && likely(!lttng_pid_tracker_lookup(__lpf, current->pid))) \
return; \
_code \
\
__event_prepare_filter_stack__##_name(__stackvar.__filter_stack_data, \
tp_locvar, _args); \
- list_for_each_entry_rcu(bc_runtime, &__event->bytecode_runtime_head, node) { \
+ lttng_list_for_each_entry_rcu(bc_runtime, &__event->bytecode_runtime_head, node) { \
if (unlikely(bc_runtime->filter(bc_runtime, \
__stackvar.__filter_stack_data) & LTTNG_FILTER_RECORD_FLAG)) \
__filter_record = 1; \
return; \
if (unlikely(!ACCESS_ONCE(__event->enabled))) \
return; \
- __lpf = rcu_dereference(__session->pid_tracker); \
+ __lpf = lttng_rcu_dereference(__session->pid_tracker); \
if (__lpf && likely(!lttng_pid_tracker_lookup(__lpf, current->pid))) \
return; \
_code \
\
__event_prepare_filter_stack__##_name(__stackvar.__filter_stack_data, \
tp_locvar); \
- list_for_each_entry_rcu(bc_runtime, &__event->bytecode_runtime_head, node) { \
+ lttng_list_for_each_entry_rcu(bc_runtime, &__event->bytecode_runtime_head, node) { \
if (unlikely(bc_runtime->filter(bc_runtime, \
__stackvar.__filter_stack_data) & LTTNG_FILTER_RECORD_FLAG)) \
__filter_record = 1; \