X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=probes%2Flttng-events.h;h=ab6f342b3e9c8df6c08dc17af8a2203589d3214e;hb=16f78f3ad7dea4a0b442b8c7e0de01935f28e656;hp=680f466f9a2b40531e3214ef551d7296bf024ba1;hpb=f0dbdefbdbc26a000ed546180b22144c5b48857d;p=lttng-modules.git diff --git a/probes/lttng-events.h b/probes/lttng-events.h index 680f466f..ab6f342b 100644 --- a/probes/lttng-events.h +++ b/probes/lttng-events.h @@ -691,24 +691,22 @@ __assign_##dest##_3: \ */ #undef tp_copy_string_from_user #define tp_copy_string_from_user(dest, src) \ - __assign_##dest: \ - { \ - size_t __ustrlen; \ - \ - if (0) \ - (void) __typemap.dest; \ - lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(__typemap.dest));\ - __ustrlen = __get_dynamic_array_len(dest); \ - if (likely(__ustrlen > 1)) { \ - __chan->ops->event_write_from_user(&__ctx, src, \ - __ustrlen - 1); \ - } \ - __chan->ops->event_memset(&__ctx, 0, 1); \ - } \ +__assign_##dest: \ + if (0) \ + (void) __typemap.dest; \ + lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(__typemap.dest)); \ + __chan->ops->event_strcpy_from_user(&__ctx, src, \ + __get_dynamic_array_len(dest)); \ goto __end_field_##dest; + #undef tp_strcpy #define tp_strcpy(dest, src) \ - tp_memcpy(dest, src, __get_dynamic_array_len(dest)) +__assign_##dest: \ + if (0) \ + (void) __typemap.dest; \ + lib_ring_buffer_align_ctx(&__ctx, lttng_alignof(__typemap.dest)); \ + __chan->ops->event_strcpy(&__ctx, src, __get_dynamic_array_len(dest)); \ + goto __end_field_##dest; /* Named field types must be defined in lttng-types.h */