copy_from_user and memset
[lttng-modules.git] / probes / lttng-events.h
index f86bd39d517b87cfcdea38d7cf443b4fbf8e7096..084666d56514520f7db875e6026bf538eef0cfbd 100644 (file)
@@ -111,6 +111,10 @@ void trace_##_name(void *__data);
 #define __field_ext(_type, _item, _filter_type)                        \
        __field(_type, _item)
 
+#undef __field_hex
+#define __field_hex(_type, _item)                              \
+       __field_full(_type, _item, __BYTE_ORDER, 16)
+
 #undef __field_network
 #define __field_network(_type, _item)                          \
        __field_full(_type, _item, __BIG_ENDIAN, 10)
@@ -506,6 +510,27 @@ __assign_##dest##_2:                                                       \
        __chan->ops->event_write(&__ctx, src,                           \
                sizeof(__typemap.dest) * __get_dynamic_array_len(dest));\
        goto __end_field_##dest##_2;
+#undef tp_memcpy_from_user
+#define tp_memcpy_from_user(dest, src, len)                            \
+       __assign_##dest:                                                \
+       if (0)                                                          \
+               (void) __typemap.dest;                                  \
+       lib_ring_buffer_align_ctx(&__ctx, ltt_alignof(__typemap.dest)); \
+       __chan->ops->event_write_from_user(&__ctx, src, len);           \
+       goto __end_field_##dest;
+/*
+ * tp_copy_string_from_user "len" parameter is the length of the string
+ * excluding the final \0.
+ */
+#undef tp_copy_string_from_user
+#define tp_copy_string_from_user(dest, src, len)                       \
+       __assign_##dest:                                                \
+       if (0)                                                          \
+               (void) __typemap.dest;                                  \
+       lib_ring_buffer_align_ctx(&__ctx, ltt_alignof(__typemap.dest)); \
+       __chan->ops->event_write_from_user(&__ctx, src, len);           \
+       __chan->ops->event_memset(&__ctx, 0, 1);                        \
+       goto __end_field_##dest;
 
 #undef tp_strcpy
 #define tp_strcpy(dest, src)                                           \
This page took 0.024386 seconds and 4 git commands to generate.