Fix: increment buffer offset when failing to copy from user-space
[lttng-modules.git] / include / lttng / tracepoint-event-impl.h
index 35b0059b1739ef11968de2b0adc093d632a9a287..ce41fcb688d37102dc4e755f9c6aca9e530c264a 100644 (file)
@@ -201,7 +201,7 @@ void __event_template_proto___##_name(void);
 #ifndef LTTNG_TRACEPOINT_TYPE_EXTERN
 # undef LTTNG_TRACEPOINT_ENUM
 # define LTTNG_TRACEPOINT_ENUM(_name, _values)                         \
-       static const struct lttng_kernel_enum_entry *__enum_values__##_name[] = { \
+       static const struct lttng_kernel_enum_entry * const __enum_values__##_name[] = { \
                _values                                                 \
        };
 #endif
@@ -341,7 +341,7 @@ static __used struct lttng_kernel_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM
 
 #undef LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS
 #define LTTNG_TRACEPOINT_EVENT_CLASS_CODE_NOARGS(_name, _locvar, _code_pre, _fields, _code_post) \
-       static const struct lttng_kernel_event_field *__event_fields___##_name[] = { \
+       static const struct lttng_kernel_event_field * const __event_fields___##_name[] = { \
                _fields                                                      \
        };                                                                   \
        static const struct lttng_kernel_tracepoint_class lttng_kernel__event_class___##_name = { \
@@ -1074,15 +1074,15 @@ static void __event_probe__##_name(_data_proto)                                         \
        {                                                                               \
                struct lttng_kernel_event_recorder *__event_recorder =                  \
                        container_of(__event, struct lttng_kernel_event_recorder, parent); \
-               struct lttng_channel *__chan = __event_recorder->chan;                  \
-               struct lttng_kernel_session *__session = __chan->session;               \
+               struct lttng_kernel_channel_buffer *__chan = __event_recorder->chan;    \
+               struct lttng_kernel_session *__session = __chan->parent.session;        \
                struct lttng_kernel_id_tracker_rcu *__lf;                               \
                                                                                        \
                if (!_TP_SESSION_CHECK(session, __session))                             \
                        return;                                                         \
                if (unlikely(!LTTNG_READ_ONCE(__session->active)))                      \
                        return;                                                         \
-               if (unlikely(!LTTNG_READ_ONCE(__chan->enabled)))                        \
+               if (unlikely(!LTTNG_READ_ONCE(__chan->parent.enabled)))                 \
                        return;                                                         \
                __lf = lttng_rcu_dereference(__session->pid_tracker.p);                 \
                if (__lf && likely(!lttng_id_tracker_lookup(__lf, current->tgid)))      \
@@ -1131,7 +1131,7 @@ static void __event_probe__##_name(_data_proto)                                           \
        {                                                                               \
                struct lttng_kernel_event_recorder *__event_recorder =                  \
                        container_of(__event, struct lttng_kernel_event_recorder, parent); \
-               struct lttng_channel *__chan = __event_recorder->chan;                  \
+               struct lttng_kernel_channel_buffer *__chan = __event_recorder->chan;    \
                struct lttng_kernel_ring_buffer_ctx __ctx;                              \
                ssize_t __event_len;                                                    \
                size_t __event_align;                                                   \
@@ -1139,7 +1139,7 @@ static void __event_probe__##_name(_data_proto)                                           \
                                                                                        \
                __event_len = __event_get_size__##_name(_locvar_args);                  \
                if (unlikely(__event_len < 0)) {                                        \
-                       lib_ring_buffer_lost_event_too_big(__chan->chan);               \
+                       __chan->ops->lost_event_too_big(__chan);                        \
                        goto __post;                                                    \
                }                                                                       \
                __event_align = __event_get_align__##_name(_locvar_args);               \
@@ -1245,7 +1245,7 @@ static const struct lttng_kernel_event_desc __event_desc___##_map = {     \
 #define TP_ID1(_token, _system)        _token##_system
 #define TP_ID(_token, _system) TP_ID1(_token, _system)
 
-static const struct lttng_kernel_event_desc *TP_ID(__event_desc___, TRACE_SYSTEM)[] = {
+static const struct lttng_kernel_event_desc * const TP_ID(__event_desc___, TRACE_SYSTEM)[] = {
 #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
 };
 
This page took 0.028566 seconds and 4 git commands to generate.