Fix: move "user" attribute from field to type
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 5 Sep 2022 20:45:39 +0000 (16:45 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 7 Sep 2022 14:06:28 +0000 (10:06 -0400)
The "user" field attribute (copy from userspace) is not taken into
account in the bytecode specialization and interpreter recursive
traversal through composed types (LOAD_FIELD bytecode instructions).

Those are currently used by the event notification capture bytecode, and
by filter expressions which access fields nested within composed types.

Move the "user" attribute from the event fields to the integer and
string types. This will allow ensuring that the bytecode specialization,
interpreter and event notification output capture have access to this
user attribute even in nested types (e.g. arrays, sequences) in a
subsequent change.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I044a0845b256b5e2cf65aa0888af2b906678d19d

45 files changed:
include/instrumentation/events/net.h
include/instrumentation/syscalls/headers/syscalls_integers_override.h
include/instrumentation/syscalls/headers/syscalls_pointers_override.h
include/lttng/events.h
include/lttng/tracepoint-event-impl.h
src/lttng-bytecode.c
src/lttng-context-callstack.c
src/lttng-context-cgroup-ns.c
src/lttng-context-cpu-id.c
src/lttng-context-egid.c
src/lttng-context-euid.c
src/lttng-context-gid.c
src/lttng-context-hostname.c
src/lttng-context-interruptible.c
src/lttng-context-ipc-ns.c
src/lttng-context-migratable.c
src/lttng-context-mnt-ns.c
src/lttng-context-need-reschedule.c
src/lttng-context-net-ns.c
src/lttng-context-nice.c
src/lttng-context-pid-ns.c
src/lttng-context-pid.c
src/lttng-context-ppid.c
src/lttng-context-preemptible.c
src/lttng-context-prio.c
src/lttng-context-procname.c
src/lttng-context-sgid.c
src/lttng-context-suid.c
src/lttng-context-tid.c
src/lttng-context-time-ns.c
src/lttng-context-uid.c
src/lttng-context-user-ns.c
src/lttng-context-uts-ns.c
src/lttng-context-vegid.c
src/lttng-context-veuid.c
src/lttng-context-vgid.c
src/lttng-context-vpid.c
src/lttng-context-vppid.c
src/lttng-context-vsgid.c
src/lttng-context-vsuid.c
src/lttng-context-vtid.c
src/lttng-context-vuid.c
src/probes/lttng-kprobes.c
src/probes/lttng-kretprobes.c
src/probes/lttng-uprobes.c

index dc0e77b7f3d5b5477cd84697793807eb08be2266..93f47a3306baf5bcb9add86be2e90b3ac4f8dfab 100644 (file)
@@ -117,79 +117,79 @@ static const struct lttng_kernel_event_field *emptyfields[] = {
 static const struct lttng_kernel_event_field *tcpfields[] = {
        [0] = lttng_kernel_static_event_field("source_port",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [1] = lttng_kernel_static_event_field("dest_port",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [2] = lttng_kernel_static_event_field("seq",
                lttng_kernel_static_type_integer_from_type(uint32_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [3] = lttng_kernel_static_event_field("ack_seq",
                lttng_kernel_static_type_integer_from_type(uint32_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [4] = lttng_kernel_static_event_field("data_offset",
                lttng_kernel_static_type_integer(4, 4, 0, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [5] = lttng_kernel_static_event_field("reserved",
                lttng_kernel_static_type_integer(3, 1, 0, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [6] = lttng_kernel_static_event_field("flags",
                lttng_kernel_static_type_integer(9, 1, 0, __BIG_ENDIAN, 16),
-               false, false, false),
+               false, false),
        [7] = lttng_kernel_static_event_field("window_size",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [8] = lttng_kernel_static_event_field("checksum",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 16),
-               false, false, false),
+               false, false),
        [9] = lttng_kernel_static_event_field("urg_ptr",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
 };
 
 static const struct lttng_kernel_event_field *udpfields[] = {
        [0] = lttng_kernel_static_event_field("source_port",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [1] = lttng_kernel_static_event_field("dest_port",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [2] = lttng_kernel_static_event_field("len",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [3] = lttng_kernel_static_event_field("check",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
 };
 
 static const struct lttng_kernel_event_field *icmpfields[] = {
        [0] = lttng_kernel_static_event_field("type",
                lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [1] = lttng_kernel_static_event_field("code",
                lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [2] = lttng_kernel_static_event_field("checksum",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [3] = lttng_kernel_static_event_field("gateway",
                lttng_kernel_static_type_integer_from_type(uint32_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
 };
 
 static const struct lttng_kernel_event_field *transport_fields[] = {
        [0] = lttng_kernel_static_event_field("unknown",
                lttng_kernel_static_type_struct(ARRAY_SIZE(emptyfields), emptyfields, 0),
-               false, false, true),
+               false, true),
        [1] = lttng_kernel_static_event_field("tcp",
                lttng_kernel_static_type_struct(ARRAY_SIZE(tcpfields), tcpfields, 0),
-               false, false, true),
+               false, true),
        [2] = lttng_kernel_static_event_field("udp",
                lttng_kernel_static_type_struct(ARRAY_SIZE(udpfields), udpfields, 0),
-               false, false, true),
+               false, true),
        [3] = lttng_kernel_static_event_field("icmp",
                lttng_kernel_static_type_struct(ARRAY_SIZE(icmpfields), icmpfields, 0),
-               false, false, true),
+               false, true),
 };
 
 #endif /* LTTNG_CREATE_FIELD_METADATA */
@@ -222,98 +222,98 @@ LTTNG_TRACEPOINT_ENUM(transport_header_type,
 static const struct lttng_kernel_event_field *ipv4fields[] = {
        [0] = lttng_kernel_static_event_field("version",
                lttng_kernel_static_type_integer(4, 4, 0, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [1] = lttng_kernel_static_event_field("ihl",
                lttng_kernel_static_type_integer(4, 4, 0, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [2] = lttng_kernel_static_event_field("tos",
                lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [3] = lttng_kernel_static_event_field("tot_len",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [4] = lttng_kernel_static_event_field("id",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 16),
-               false, false, false),
+               false, false),
        [5] = lttng_kernel_static_event_field("frag_off",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [6] = lttng_kernel_static_event_field("ttl",
                lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [7] = lttng_kernel_static_event_field("protocol",
                lttng_kernel_static_type_enum(&__enum_proto_transport_header_type,
                        lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 10)),
-               false, false, false),
+               false, false),
        [8] = lttng_kernel_static_event_field("checksum",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 16),
-               false, false, false),
+               false, false),
        [9] = lttng_kernel_static_event_field("saddr",
                lttng_kernel_static_type_array(4,
                        lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 10),
                        lttng_alignof(uint8_t), none),
-               false, false, false),
+               false, false),
        [10] = lttng_kernel_static_event_field("daddr",
                lttng_kernel_static_type_array(4,
                        lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 10),
                        lttng_alignof(uint8_t), none),
-               false, false, false),
+               false, false),
        [11] = lttng_kernel_static_event_field("transport_header_type",
                lttng_kernel_static_type_enum(&__enum_transport_header_type,
                        lttng_kernel_static_type_integer_from_type(uint8_t, __BYTE_ORDER, 10)),
-               false, false, false),
+               false, false),
        [12] = lttng_kernel_static_event_field("transport_header",
                lttng_kernel_static_type_variant(ARRAY_SIZE(transport_fields), transport_fields,
                        NULL, 0),       /* Previous field as tag. */
-               false, false, false),
+               false, false),
 };
 
 static const struct lttng_kernel_event_field *ipv6fields[] = {
        [0] = lttng_kernel_static_event_field("version",
                lttng_kernel_static_type_integer(4, 4, 0, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [1] = lttng_kernel_static_event_field("prio",
                lttng_kernel_static_type_integer(4, 4, 0, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [2] = lttng_kernel_static_event_field("flow_lbl",
                lttng_kernel_static_type_array(3, lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 16), lttng_alignof(uint8_t), none),
-               false, false, false),
+               false, false),
        [3] = lttng_kernel_static_event_field("payload_len",
                lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [4] = lttng_kernel_static_event_field("nexthdr",
                lttng_kernel_static_type_enum(&__enum_proto_transport_header_type,
                        lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 10)),
-               false, false, false),
+               false, false),
        [5] = lttng_kernel_static_event_field("hop_limit",
                lttng_kernel_static_type_integer_from_type(uint8_t, __BIG_ENDIAN, 10),
-               false, false, false),
+               false, false),
        [6] = lttng_kernel_static_event_field("saddr",
                lttng_kernel_static_type_array(8, lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 16), lttng_alignof(uint16_t), none),
-               false, false, false),
+               false, false),
        [7] = lttng_kernel_static_event_field("daddr",
                lttng_kernel_static_type_array(8, lttng_kernel_static_type_integer_from_type(uint16_t, __BIG_ENDIAN, 16), lttng_alignof(uint16_t), none),
-               false, false, false),
+               false, false),
        [8] = lttng_kernel_static_event_field("transport_header_type",
                lttng_kernel_static_type_enum(&__enum_transport_header_type,
                        lttng_kernel_static_type_integer_from_type(uint8_t, __BYTE_ORDER, 10)),
-               false, false, false),
+               false, false),
        [9] = lttng_kernel_static_event_field("transport_header",
                lttng_kernel_static_type_variant(ARRAY_SIZE(transport_fields),
                        transport_fields, NULL, 0),     /* Previous field as tag. */
-               false, false, false),
+               false, false),
 };
 
 static const struct lttng_kernel_event_field *network_fields[] = {
        [0] = lttng_kernel_static_event_field("unknown",
                lttng_kernel_static_type_struct(0, emptyfields, 0),
-               false, false, false),
+               false, false),
        [1] = lttng_kernel_static_event_field("ipv4",
                lttng_kernel_static_type_struct(ARRAY_SIZE(ipv4fields), ipv4fields, 0),
-               false, false, false),
+               false, false),
        [2] = lttng_kernel_static_event_field("ipv6",
                lttng_kernel_static_type_struct(ARRAY_SIZE(ipv6fields), ipv6fields, 0),
-               false, false, false),
+               false, false),
 };
 
 #endif /* LTTNG_CREATE_FIELD_METADATA */
index eb0cf80f7c94e01cf996eb1bc9b7f00de9e2e3d8..74bc9dcf5b1c91599c2df21193a673f1cd993fd1 100644 (file)
@@ -93,13 +93,13 @@ SC_LTTNG_TRACEPOINT_ENUM(lttng_mmap_flags_options,
        lttng_kernel_static_event_field("type",                         \
                lttng_kernel_static_type_enum(&__enum_lttng_mmap_flags_mapping_type, \
                                lttng_kernel_static_type_integer(4, 1, 0, __BYTE_ORDER, 16)), \
-               false, false, false)
+               false, false)
 
 #define LTTNG_MMAP_FLAGS_OPTIONS                                       \
        lttng_kernel_static_event_field("options",                      \
                lttng_kernel_static_type_enum(&__enum_lttng_mmap_flags_options, \
                                lttng_kernel_static_type_integer(28, 1, 0, __BYTE_ORDER, 16)), \
-               false, false, false)
+               false, false)
 
 #if (__BYTE_ORDER == __LITTLE_ENDIAN)
 #define LTTNG_MMAP_FLAGS                       \
index 0b7134b68217f3e4ee6727fee50a200298851146..00e5990c18873377a4a9c20b5af9780d2c294eb0 100644 (file)
@@ -123,7 +123,7 @@ SC_LTTNG_TRACEPOINT_ENUM(lttng_clone_option_flags,
                lttng_kernel_static_type_enum(&__enum_lttng_clone_exit_signal_flags, \
                        lttng_kernel_static_type_integer(CLONE_EXIT_SIGNAL_FLAG_RESERVED_BITS, \
                                1, 0, __BYTE_ORDER, 16)),               \
-               false, false, false)
+               false, false)
 
 #define LTTNG_CLONE_FLAGS_OPTIONS                                      \
        lttng_kernel_static_event_field("options",                      \
@@ -131,7 +131,7 @@ SC_LTTNG_TRACEPOINT_ENUM(lttng_clone_option_flags,
                        lttng_kernel_static_type_integer(               \
                                sizeof(unsigned long) * CHAR_BIT - CLONE_EXIT_SIGNAL_FLAG_RESERVED_BITS, \
                                1, 0, __BYTE_ORDER, 16)),               \
-               false, false, false)
+               false, false)
 
 #if (__BYTE_ORDER == __LITTLE_ENDIAN)
 #define LTTNG_CLONE_FLAGS                      \
@@ -479,25 +479,25 @@ SC_LTTNG_TRACEPOINT_EVENT_CODE(pselect6,
 static const struct lttng_kernel_event_field *lttng_pollfd_flag_fields[] = {
        [ilog2(POLLIN)] = lttng_kernel_static_event_field("POLLIN",
                                lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                               false, false, false),
+                               false, false),
        [ilog2(POLLPRI)] = lttng_kernel_static_event_field("POLLPRI",
                                lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                               false, false, false),
+                               false, false),
        [ilog2(POLLOUT)] = lttng_kernel_static_event_field("POLLOUT",
                                lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                               false, false, false),
+                               false, false),
        [ilog2(POLLERR)] = lttng_kernel_static_event_field("POLLERR",
                                lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                               false, false, false),
+                               false, false),
        [ilog2(POLLHUP)] = lttng_kernel_static_event_field("POLLHUP",
                                lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                               false, false, false),
+                               false, false),
        [ilog2(POLLNVAL)] = lttng_kernel_static_event_field("POLLNVAL",
                                lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                               false, false, false),
+                               false, false),
        [ilog2(LTTNG_POLL_NRFLAGS)] = lttng_kernel_static_event_field("padding",
                                lttng_kernel_static_type_integer(POLL_FLAGS_PADDING_SIZE, 1, 0, __LITTLE_ENDIAN, 10),
-                               false, false, false),
+                               false, false),
 };
 
 static_assert(((ARRAY_SIZE(lttng_pollfd_flag_fields) - 1) + POLL_FLAGS_PADDING_SIZE) == sizeof(uint8_t) * BITS_PER_BYTE);
@@ -510,12 +510,12 @@ LTTNG_TRACEPOINT_TYPE(PARAMS(const struct lttng_kernel_type_struct lttng_pollfd_
 #ifndef LTTNG_TRACEPOINT_TYPE_EXTERN
 static const struct lttng_kernel_event_field *lttng_pollfd_fields[] = {
        [0] = lttng_kernel_static_event_field("fd", lttng_kernel_static_type_integer_from_type(int, __BYTE_ORDER, 10),
-                               false, false, false),
+                               false, false),
        [1] = lttng_kernel_static_event_field("raw_events", lttng_kernel_static_type_integer_from_type(uint16_t, __BYTE_ORDER, 16),
-                               false, false, false),
+                               false, false),
        [2] = lttng_kernel_static_event_field("events",
                (const struct lttng_kernel_type_common *) &lttng_pollfd_flag_fields_struct,
-               false, false, false),
+               false, false),
 };
 #endif /* LTTNG_TRACEPOINT_TYPE_EXTERN */
 
@@ -734,26 +734,26 @@ static const struct lttng_kernel_event_field *lttng_epoll_ctl_events_fields[] =
        /* 0x0001 */
        [ilog2(POLLIN)] = lttng_kernel_static_event_field("EPOLLIN",
                        lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                       false, false, false),
+                       false, false),
        /* 0x0002 */
        [ilog2(POLLPRI)] = lttng_kernel_static_event_field("EPOLLPRI",
                        lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                       false, false, false),
+                       false, false),
        /* 0x0004 */
        [ilog2(POLLOUT)] = lttng_kernel_static_event_field("EPOLLOUT",
                        lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                       false, false, false),
+                       false, false),
        /* 0x0008 */
        [ilog2(POLLERR)] = lttng_kernel_static_event_field("EPOLLERR",
                        lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                       false, false, false),
+                       false, false),
        /* 0x0010 */
        [ilog2(POLLHUP)] = lttng_kernel_static_event_field("EPOLLHUP",
                        lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10),
-                       false, false, false),
+                       false, false),
        [ilog2(LTTNG_EPOLL_NRFLAGS)] = lttng_kernel_static_event_field("padding",
                        lttng_kernel_static_type_integer(EPOLL_FLAGS_PADDING_SIZE, 1, 0, __LITTLE_ENDIAN, 10),
-                       false, false, false),
+                       false, false),
 };
 #endif /* LTTNG_TRACEPOINT_TYPE_EXTERN */
 
@@ -764,10 +764,10 @@ LTTNG_TRACEPOINT_TYPE(PARAMS(const struct lttng_kernel_type_struct lttng_epoll_c
 static const struct lttng_kernel_event_field *lttng_epoll_data_fields[] = {
        [0] = lttng_kernel_static_event_field("u64",
                        lttng_kernel_static_type_integer_from_type(uint64_t, __BYTE_ORDER, 16),
-                       false, false, false),
+                       false, false),
        [1] = lttng_kernel_static_event_field("fd",
                        lttng_kernel_static_type_integer_from_type(int, __BYTE_ORDER, 10),
-                       false, false, false),
+                       false, false),
 };
 #endif /* LTTNG_TRACEPOINT_TYPE_EXTERN */
 
@@ -778,13 +778,13 @@ LTTNG_TRACEPOINT_TYPE(PARAMS(const struct lttng_kernel_type_struct lttng_epoll_d
 static const struct lttng_kernel_event_field *epoll_ctl_fields[] = {
        [0] = lttng_kernel_static_event_field("data_union",
                (const struct lttng_kernel_type_common *) &lttng_epoll_data_fields_struct,
-               false, false, false),
+               false, false),
        [1] = lttng_kernel_static_event_field("raw_events",
                lttng_kernel_static_type_integer_from_type(uint32_t, __BYTE_ORDER, 16),
-               false, false, false),
+               false, false),
        [2] = lttng_kernel_static_event_field("events",
                (const struct lttng_kernel_type_common *) &lttng_epoll_ctl_events_fields_struct,
-               false, false, false),
+               false, false),
 };
 #endif /* LTTNG_TRACEPOINT_TYPE_EXTERN */
 
@@ -851,12 +851,12 @@ SC_LTTNG_TRACEPOINT_EVENT_CODE(epoll_ctl,
 static const struct lttng_kernel_event_field *lttng_epoll_wait_fields[] = lttng_kernel_static_event_field_array(
        [0] = lttng_kernel_static_event_field("data_union",
                        (const struct lttng_kernel_type_common *) &lttng_epoll_data_fields_struct,
-                       false, false, false),
+                       false, false),
        [1] = lttng_kernel_static_event_field("raw_events", lttng_kernel_static_type_integer_from_type(uint32_t, __BYTE_ORDER, 16),
-                       false, false, false),
+                       false, false),
        [2] = lttng_kernel_static_event_field("events",
                        (const struct lttng_kernel_type_common *) &lttng_epoll_ctl_events_fields_struct,
-                       false, false, false),
+                       false, false),
 );
 
 static_assert(((ARRAY_SIZE(lttng_epoll_ctl_events_fields) - 1) + EPOLL_FLAGS_PADDING_SIZE) == sizeof(uint8_t) * BITS_PER_BYTE);
index d25f4282dde15f79bd8e77202773307763fc6c1a..e5237bb0776611674a05d6a17e12aa4d7889a41d 100644 (file)
@@ -75,13 +75,15 @@ struct lttng_kernel_type_integer {
        unsigned int size;              /* in bits */
        unsigned short alignment;       /* in bits */
        unsigned int signedness:1,
-               reverse_byte_order:1;
+               reverse_byte_order:1,
+               user:1;                 /* fetch from user-space */
        unsigned int base;              /* 2, 8, 10, 16, for pretty print */
 };
 
 struct lttng_kernel_type_string {
        struct lttng_kernel_type_common parent;
        enum lttng_kernel_string_encoding encoding;
+       unsigned int user:1;            /* fetch from user-space */
 };
 
 struct lttng_kernel_type_enum {
@@ -134,7 +136,6 @@ struct lttng_kernel_event_field {
        const char *name;
        const struct lttng_kernel_type_common *type;
        unsigned int nowrite:1,         /* do not write into trace */
-                       user:1,         /* fetch from user-space */
                        nofilter:1;     /* do not consider for filter */
 };
 
@@ -142,7 +143,7 @@ struct lttng_kernel_event_field {
 #define PARAMS(args...)        args
 #endif
 
-#define lttng_kernel_static_type_integer(_size, _alignment, _signedness, _byte_order, _base)           \
+#define _lttng_kernel_static_type_integer(_size, _alignment, _signedness, _byte_order, _user, _base)   \
        ((const struct lttng_kernel_type_common *) __LTTNG_COMPOUND_LITERAL(const struct lttng_kernel_type_integer, { \
                .parent = {                                                                             \
                        .type = lttng_kernel_type_integer,                                                      \
@@ -151,16 +152,29 @@ struct lttng_kernel_event_field {
                .alignment = (_alignment),                                                              \
                .signedness = (_signedness),                                                            \
                .reverse_byte_order = (_byte_order) != __BYTE_ORDER,                                    \
+               .user = (_user),                                                                        \
                .base = (_base),                                                                        \
        }))
 
-#define lttng_kernel_static_type_integer_from_type(_type, _byte_order, _base)                          \
+#define lttng_kernel_static_type_integer(_size, _alignment, _signedness, _byte_order, _base)           \
+       _lttng_kernel_static_type_integer(_size, _alignment, _signedness, _byte_order, 0, _base)
+
+#define lttng_kernel_static_type_user_integer(_size, _alignment, _signedness, _byte_order, _base)      \
+       _lttng_kernel_static_type_integer(_size, _alignment, _signedness, _byte_order, 1, _base)
+
+#define _lttng_kernel_static_type_integer_from_type(_type, _byte_order, _user, _base)                  \
        lttng_kernel_static_type_integer(sizeof(_type) * CHAR_BIT,                                      \
                        lttng_alignof(_type) * CHAR_BIT,                                                \
                        lttng_is_signed_type(_type),                                                    \
                        _byte_order,                                                                    \
                        _base)
 
+#define lttng_kernel_static_type_integer_from_type(_type, _byte_order, _base)                          \
+       _lttng_kernel_static_type_integer_from_type(_type, _byte_order, 0, _base)
+
+#define lttng_kernel_static_type_user_integer_from_type(_type, _byte_order, _base)                     \
+       _lttng_kernel_static_type_integer_from_type(_type, _byte_order, 1, _base)
+
 #define lttng_kernel_static_type_enum(_desc, _container_type)                                          \
        ((const struct lttng_kernel_type_common *) __LTTNG_COMPOUND_LITERAL(const struct lttng_kernel_type_enum, { \
                .parent = {                                                                             \
@@ -199,12 +213,13 @@ struct lttng_kernel_event_field {
                .elem_type = (_elem_type),                                                              \
        }))
 
-#define lttng_kernel_static_type_string(_encoding)                                                     \
+#define lttng_kernel_static_type_string(_encoding, _user)                                              \
        ((const struct lttng_kernel_type_common *) __LTTNG_COMPOUND_LITERAL(const struct lttng_kernel_type_string, { \
                .parent = {                                                                             \
                        .type = lttng_kernel_type_string,                                               \
                },                                                                                      \
                .encoding = lttng_kernel_string_encoding_##_encoding,                                   \
+               .user = (_user),                                                                        \
        }))
 
 #define lttng_kernel_static_type_struct_init(_nr_fields, _fields, _alignment)                          \
@@ -233,12 +248,11 @@ struct lttng_kernel_event_field {
                .alignment = (_alignment),                                                              \
        }))
 
-#define lttng_kernel_static_event_field(_name, _type, _nowrite, _user, _nofilter)                      \
+#define lttng_kernel_static_event_field(_name, _type, _nowrite, _nofilter)                             \
        __LTTNG_COMPOUND_LITERAL(const struct lttng_kernel_event_field, {                               \
                .name = (_name),                                                                        \
                .type = (_type),                                                                        \
                .nowrite = (_nowrite),                                                                  \
-               .user = (_user),                                                                        \
                .nofilter = (_nofilter),                                                                \
        })
 
index dcb22247d4bdb61eef608fe38acbccd0a44ff2e9..8e55255666e12672d7a9ff01876ba4af72596cf4 100644 (file)
@@ -259,27 +259,27 @@ static __used struct lttng_kernel_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM
 #undef _ctf_integer_ext
 #define _ctf_integer_ext(_type, _item, _src, _byte_order, _base, _user, _nowrite)      \
        lttng_kernel_static_event_field(#_item,                                         \
-               lttng_kernel_static_type_integer_from_type(_type, _byte_order, _base),  \
-               _nowrite, _user, 0),
+               _lttng_kernel_static_type_integer_from_type(_type, _byte_order, _user, _base),  \
+               _nowrite, 0),
 
 #undef _ctf_array_encoded
 #define _ctf_array_encoded(_type, _item, _src, _length,                \
                _encoding, _byte_order, _elem_type_base, _user, _nowrite) \
        lttng_kernel_static_event_field(#_item,                 \
                lttng_kernel_static_type_array(_length,         \
-                       lttng_kernel_static_type_integer_from_type(_type, _byte_order, _elem_type_base), \
+                       _lttng_kernel_static_type_integer_from_type(_type, _byte_order, _user, _elem_type_base), \
                        0,                                      \
                        _encoding),                             \
-               _nowrite, _user, 0),
+               _nowrite, 0),
 
 #undef _ctf_array_bitfield
 #define _ctf_array_bitfield(_type, _item, _src, _length, _user, _nowrite) \
        lttng_kernel_static_event_field(#_item,                 \
                lttng_kernel_static_type_array((_length) * sizeof(_type) * CHAR_BIT, \
-                       lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10), \
+                       _lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, _user, 10), \
                        lttng_alignof(_type),                   \
                        none),                                  \
-               _nowrite, _user, 0),
+               _nowrite, 0),
 
 #undef _ctf_sequence_encoded
 #define _ctf_sequence_encoded(_type, _item, _src,              \
@@ -287,13 +287,13 @@ static __used struct lttng_kernel_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM
                        _byte_order, _elem_type_base, _user, _nowrite) \
        lttng_kernel_static_event_field("_" #_item "_length",   \
                lttng_kernel_static_type_integer_from_type(_length_type, __BYTE_ORDER, 10), \
-               _nowrite, 0, 1),                                \
+               _nowrite, 1),                                   \
        lttng_kernel_static_event_field(#_item,                 \
                lttng_kernel_static_type_sequence(NULL, /* Use previous field. */ \
-                       lttng_kernel_static_type_integer_from_type(_type, _byte_order, _elem_type_base), \
+                       _lttng_kernel_static_type_integer_from_type(_type, _byte_order, _user, _elem_type_base), \
                        0,                                      \
                        _encoding),                             \
-               _nowrite, _user, 0),
+               _nowrite, 0),
 
 #undef _ctf_sequence_bitfield
 #define _ctf_sequence_bitfield(_type, _item, _src,             \
@@ -301,19 +301,19 @@ static __used struct lttng_kernel_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM
                        _user, _nowrite)                        \
        lttng_kernel_static_event_field("_" #_item "_length",   \
                lttng_kernel_static_type_integer_from_type(_length_type, __BYTE_ORDER, 10), \
-               _nowrite, 0, 1),                                \
+               _nowrite, 1),                                   \
        lttng_kernel_static_event_field(#_item,                 \
                lttng_kernel_static_type_sequence(NULL, /* Use previous field. */ \
-                       lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, 10), \
+                       _lttng_kernel_static_type_integer(1, 1, 0, __LITTLE_ENDIAN, _user, 10), \
                        lttng_alignof(_type),                   \
                        none),                                  \
-               _nowrite, _user, 0),
+               _nowrite, 0),
 
 #undef _ctf_string
 #define _ctf_string(_item, _src, _user, _nowrite)              \
        lttng_kernel_static_event_field(#_item,                 \
-               lttng_kernel_static_type_string(UTF8),          \
-               _nowrite, _user, 0),
+               lttng_kernel_static_type_string(UTF8, _user),   \
+               _nowrite, 0),
 
 #undef _ctf_unused
 #define _ctf_unused(_src)
@@ -322,12 +322,12 @@ static __used struct lttng_kernel_probe_desc TP_ID(__probe_desc___, TRACE_SYSTEM
 #define _ctf_enum(_name, _type, _item, _src, _user, _nowrite)  \
        lttng_kernel_static_event_field(#_item,                 \
                lttng_kernel_static_type_enum(&__enum_##_name,  \
-                       lttng_kernel_static_type_integer_from_type(_type, __BYTE_ORDER, 10)), \
-               _nowrite, _user, 0),
+                       _lttng_kernel_static_type_integer_from_type(_type, __BYTE_ORDER, _user, 10)), \
+               _nowrite, 0),
 
 #undef ctf_custom_field
 #define ctf_custom_field(_type, _item, _code)                  \
-       lttng_kernel_static_event_field(#_item, PARAMS(_type), 0, 0, 1),
+       lttng_kernel_static_event_field(#_item, PARAMS(_type), 0, 1),
 
 #undef ctf_custom_type
 #define ctf_custom_type(...)   __VA_ARGS__
index 2ad0b390cb4ac2dc904e8f2eef89021016c54846..d6f41c8498048ec23b2662a341231bd1be7087b0 100644 (file)
@@ -248,10 +248,12 @@ int apply_field_reloc(const struct lttng_kernel_event_desc *event_desc,
                {
                        const struct lttng_kernel_type_array *array_type = lttng_kernel_get_type_array(field->type);
                        const struct lttng_kernel_type_common *elem_type = array_type->elem_type;
+                       const struct lttng_kernel_type_integer *elem_integer_type;
 
                        if (!lttng_kernel_type_is_bytewise_integer(elem_type) || array_type->encoding == lttng_kernel_string_encoding_none)
                                return -EINVAL;
-                       if (field->user)
+                       elem_integer_type = container_of(elem_type, const struct lttng_kernel_type_integer, parent);
+                       if (elem_integer_type->user)
                                op->op = BYTECODE_OP_LOAD_FIELD_REF_USER_SEQUENCE;
                        else
                                op->op = BYTECODE_OP_LOAD_FIELD_REF_SEQUENCE;
@@ -261,21 +263,27 @@ int apply_field_reloc(const struct lttng_kernel_event_desc *event_desc,
                {
                        const struct lttng_kernel_type_sequence *sequence_type = lttng_kernel_get_type_sequence(field->type);
                        const struct lttng_kernel_type_common *elem_type = sequence_type->elem_type;
+                       const struct lttng_kernel_type_integer *elem_integer_type;
 
                        if (!lttng_kernel_type_is_bytewise_integer(elem_type) || sequence_type->encoding == lttng_kernel_string_encoding_none)
                                return -EINVAL;
-                       if (field->user)
+                       elem_integer_type = container_of(elem_type, const struct lttng_kernel_type_integer, parent);
+                       if (elem_integer_type->user)
                                op->op = BYTECODE_OP_LOAD_FIELD_REF_USER_SEQUENCE;
                        else
                                op->op = BYTECODE_OP_LOAD_FIELD_REF_SEQUENCE;
                        break;
                }
                case lttng_kernel_type_string:
-                       if (field->user)
+               {
+                       const struct lttng_kernel_type_string *string_type = lttng_kernel_get_type_string(field->type);
+
+                       if (string_type->user)
                                op->op = BYTECODE_OP_LOAD_FIELD_REF_USER_STRING;
                        else
                                op->op = BYTECODE_OP_LOAD_FIELD_REF_STRING;
                        break;
+               }
                case lttng_kernel_type_struct:  /* Unsupported. */
                case lttng_kernel_type_variant: /* Unsupported. */
                default:
@@ -330,17 +338,23 @@ int apply_context_reloc(struct bytecode_runtime *runtime,
                        break;
                        /* Sequence and array supported as string */
                case lttng_kernel_type_string:
-                       BUG_ON(ctx_field->event_field->user);
+               {
+                       const struct lttng_kernel_type_string *string_type = lttng_kernel_get_type_string(ctx_field->event_field->type);
+
+                       BUG_ON(string_type->user);
                        op->op = BYTECODE_OP_GET_CONTEXT_REF_STRING;
                        break;
+               }
                case lttng_kernel_type_array:
                {
                        const struct lttng_kernel_type_array *array_type = lttng_kernel_get_type_array(ctx_field->event_field->type);
                        const struct lttng_kernel_type_common *elem_type = array_type->elem_type;
+                       const struct lttng_kernel_type_integer *elem_integer_type;
 
                        if (!lttng_kernel_type_is_bytewise_integer(elem_type) || array_type->encoding == lttng_kernel_string_encoding_none)
                                return -EINVAL;
-                       BUG_ON(ctx_field->event_field->user);
+                       elem_integer_type = container_of(elem_type, const struct lttng_kernel_type_integer, parent);
+                       BUG_ON(elem_integer_type->user);
                        op->op = BYTECODE_OP_GET_CONTEXT_REF_STRING;
                        break;
                }
@@ -348,10 +362,12 @@ int apply_context_reloc(struct bytecode_runtime *runtime,
                {
                        const struct lttng_kernel_type_sequence *sequence_type = lttng_kernel_get_type_sequence(ctx_field->event_field->type);
                        const struct lttng_kernel_type_common *elem_type = sequence_type->elem_type;
+                       const struct lttng_kernel_type_integer *elem_integer_type;
 
                        if (!lttng_kernel_type_is_bytewise_integer(elem_type) || sequence_type->encoding == lttng_kernel_string_encoding_none)
                                return -EINVAL;
-                       BUG_ON(ctx_field->event_field->user);
+                       elem_integer_type = container_of(elem_type, const struct lttng_kernel_type_integer, parent);
+                       BUG_ON(elem_integer_type->user);
                        op->op = BYTECODE_OP_GET_CONTEXT_REF_STRING;
                        break;
                }
index 1ae340a17933a01237390041e4649e0825617f18..5034d8a71bd644b6811b97c8cd7ae6ae769a6301 100644 (file)
@@ -101,23 +101,23 @@ void lttng_callstack_sequence_destroy(void *priv)
 static const struct lttng_kernel_event_field *event_fields_kernel[NR_FIELDS] = {
        lttng_kernel_static_event_field("_callstack_kernel_length",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        lttng_kernel_static_event_field("callstack_kernel",
                lttng_kernel_static_type_sequence(NULL,
                        lttng_kernel_static_type_integer_from_type(unsigned long, __BYTE_ORDER, 16),
                        0, none),
-               false, false, false),
+               false, false),
 };
 
 static const struct lttng_kernel_event_field *event_fields_user[NR_FIELDS] = {
        lttng_kernel_static_event_field("_callstack_user_length",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        lttng_kernel_static_event_field("callstack_user",
                lttng_kernel_static_type_sequence(NULL,
                        lttng_kernel_static_type_integer_from_type(unsigned long, __BYTE_ORDER, 16),
                        0, none),
-               false, false, false),
+               false, false),
 };
 
 const struct lttng_kernel_event_field **lttng_cs_event_fields(enum lttng_cs_ctx_modes mode)
index 3a7f574ccd29ad8c2ad2c3ddcfb82007b5d1d186..656ab8fb1d445444433be98fa475f7e47110fb39 100644 (file)
@@ -77,7 +77,7 @@ void cgroup_ns_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("cgroup_ns",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        cgroup_ns_get_size,
        cgroup_ns_record,
        cgroup_ns_get_value,
index 30247c31d198fa26baada26a492e2badfd82ca32..af36409e03ee899af40adb0e37272288b9a39c20 100644 (file)
@@ -48,7 +48,7 @@ void cpu_id_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("cpu_id",
                lttng_kernel_static_type_integer_from_type(int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        cpu_id_get_size,
        cpu_id_record,
        cpu_id_get_value,
index 1473688b812adf0b0b7fe84a89d3487dc8ad729c..2b6d3ef9662984a13fd5bf3e400908bbbcc96aa7 100644 (file)
@@ -50,7 +50,7 @@ void egid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("egid",
                lttng_kernel_static_type_integer_from_type(gid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        egid_get_size,
        egid_record,
        egid_get_value,
index 7d344b1fea69799aa03fc6e23e92f24560203548..ace9f8008533ad99cfd29a6c26ae7f912b7ef120 100644 (file)
@@ -50,7 +50,7 @@ void euid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("euid",
                lttng_kernel_static_type_integer_from_type(uid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        euid_get_size,
        euid_record,
        euid_get_value,
index 17f637d757d85d73c44078340c752b0d5c8a9160..142061c10fb1916c4203f57233964ac6a1525894 100644 (file)
@@ -50,7 +50,7 @@ void gid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("gid",
                lttng_kernel_static_type_integer_from_type(gid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        gid_get_size,
        gid_record,
        gid_get_value,
index 96320ad342d56480b232969c3a31786e7f41de9d..68e142c159191c1ad14c8107e44b29c7b7009425 100644 (file)
@@ -79,7 +79,7 @@ void hostname_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("hostname",
                lttng_kernel_static_type_array_text(LTTNG_HOSTNAME_CTX_LEN),
-               false, false, false),
+               false, false),
        hostname_get_size,
        hostname_record,
        hostname_get_value,
index 48ff7efe2cde3b3c400e529e105ddfafdd3d58df..2b900bb503ecd028f3ff530f1a18ffdc5a99faec 100644 (file)
@@ -55,7 +55,7 @@ void interruptible_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("interruptible",
                lttng_kernel_static_type_integer_from_type(int8_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        interruptible_get_size,
        interruptible_record,
        interruptible_get_value,
index d5d0608f0bde307dcf21b96d68cc080e57d79ce5..80ef40c92b9d509f7cf9d534705565d33d936f99 100644 (file)
@@ -76,7 +76,7 @@ void ipc_ns_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("ipc_ns",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        ipc_ns_get_size,
        ipc_ns_record,
        ipc_ns_get_value,
index 82d3dba072759b99428cfbf4a40ce8cd6de0afa4..f39286f01bcfcece058cc7ab2eabb26a30586f79 100644 (file)
@@ -48,7 +48,7 @@ void migratable_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("migratable",
                lttng_kernel_static_type_integer_from_type(uint8_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        migratable_get_size,
        migratable_record,
        migratable_get_value,
index 7853c94b448c8215489a4ebf50d3e86aa64a3dd5..1757d5a40994ecfdc28088b745db734604dfe590 100644 (file)
@@ -78,7 +78,7 @@ void mnt_ns_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("mnt_ns",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        mnt_ns_get_size,
        mnt_ns_record,
        mnt_ns_get_value,
index 0ccbfc78793a2bdaee154430d6c38b3b30bf54a8..bc8bdff14b4594656570d54f51bd611551b9419d 100644 (file)
@@ -48,7 +48,7 @@ void need_reschedule_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("need_reschedule",
                lttng_kernel_static_type_integer_from_type(uint8_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        need_reschedule_get_size,
        need_reschedule_record,
        need_reschedule_get_value,
index 2d8994afd614fa26457064cd3739cf7a964743a7..3e3c3944a48e5e0b9af849da646a7f0cf2307396 100644 (file)
@@ -77,7 +77,7 @@ void net_ns_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("net_ns",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        net_ns_get_size,
        net_ns_record,
        net_ns_get_value,
index 91feb8d1258816c6551d1060c01a6094065cc11e..891e3339893e8a4b42e80cef9962608a5aec6d2c 100644 (file)
@@ -48,7 +48,7 @@ void nice_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("nice",
                lttng_kernel_static_type_integer_from_type(int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        nice_get_size,
        nice_record,
        nice_get_value,
index fdf91bb889113092552c8988f8426bd922edf796..965580bad0171261fc1c842c4a7b839428fe524c 100644 (file)
@@ -78,7 +78,7 @@ void pid_ns_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("pid_ns",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        pid_ns_get_size,
        pid_ns_record,
        pid_ns_get_value,
index 5bcbe00c57e6dbc4ae15cb3681070955823551af..ed0002005337e63817f081d1baaa8bc7435ca213 100644 (file)
@@ -48,7 +48,7 @@ void pid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("pid",
                lttng_kernel_static_type_integer_from_type(pid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        pid_get_size,
        pid_record,
        pid_get_value,
index 1286c376aaa5ae3d885f50f87c47bdd31e21fd58..b171fe75ec0ac060544ee849e07d82a0635766a0 100644 (file)
@@ -70,7 +70,7 @@ void ppid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("ppid",
                lttng_kernel_static_type_integer_from_type(pid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        ppid_get_size,
        ppid_record,
        ppid_get_value,
index 11c15792933d612ed40e1bbf6dd68d9ae6469ac9..2d6b2e344cb046f4bd1218a7f2550f52f34a7408 100644 (file)
@@ -66,7 +66,7 @@ void preemptible_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("preemptible",
                lttng_kernel_static_type_integer_from_type(uint8_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        preemptible_get_size,
        preemptible_record,
        preemptible_get_value,
index ea1a5ea6ca655d87894eba9d8d9a7016269c06cc..a3034e4ef7e453094c953bb3b6131c30d5f2924e 100644 (file)
@@ -75,7 +75,7 @@ void prio_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("prio",
                lttng_kernel_static_type_integer_from_type(int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        prio_get_size,
        prio_record,
        prio_get_value,
index a2e07453a48c1f00cf09f342a4ad375745916bec..1e1d9b59acb8c6ac152525b1f56fd6900ec4ea0e 100644 (file)
@@ -51,7 +51,7 @@ void procname_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("procname",
                lttng_kernel_static_type_array_text(sizeof(current->comm)),
-               false, false, false),
+               false, false),
        procname_get_size,
        procname_record,
        procname_get_value,
index dde6f71326fb88d18d07c77487000fa11e665365..c9d4211a0d739a20b4d3855cdd10beda6e0c8ba4 100644 (file)
@@ -50,7 +50,7 @@ void sgid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("sgid",
                lttng_kernel_static_type_integer_from_type(gid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        sgid_get_size,
        sgid_record,
        sgid_get_value,
index 214de9ac9bf16d8a04568e24381154a6db8bb6a0..bd1f02466e19ed1e965ba28e296c09f0bf310777 100644 (file)
@@ -50,7 +50,7 @@ void suid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("suid",
                lttng_kernel_static_type_integer_from_type(uid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        suid_get_size,
        suid_record,
        suid_get_value,
index 5ca7346c9d0a21729954d37b66496310f5cdedd5..088576726af23cde6a73d2598a68bbf7a7cb1eba 100644 (file)
@@ -51,7 +51,7 @@ void tid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("tid",
                lttng_kernel_static_type_integer_from_type(pid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        tid_get_size,
        tid_record,
        tid_get_value,
index fe29e20645a59f093a678da17797e9224ab836e9..78a8f2edd50d1d028b152520b7c32da78932563e 100644 (file)
@@ -76,7 +76,7 @@ void time_ns_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("time_ns",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        time_ns_get_size,
        time_ns_record,
        time_ns_get_value,
index b4b5b6ce4acf2c5c3ed3c152c937273f1de8b400..6121beef831a9805ebedb7c05f6003d68d0a7656 100644 (file)
@@ -50,7 +50,7 @@ void uid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("uid",
                lttng_kernel_static_type_integer_from_type(uid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        uid_get_size,
        uid_record,
        uid_get_value,
index b921f2aa80e0728d4bdeb6eea9da31ffe13fff71..5ed0cc037abde64eac0e4c41187f523021d1e1ba 100644 (file)
@@ -62,7 +62,7 @@ void user_ns_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("user_ns",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        user_ns_get_size,
        user_ns_record,
        user_ns_get_value,
index 1c34ae212b24bb001cb817e375585b3f5b2afc68..76e7b3d7d01394253d6acba64bfbb5fbbdadb1ec 100644 (file)
@@ -76,7 +76,7 @@ void uts_ns_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("uts_ns",
                lttng_kernel_static_type_integer_from_type(unsigned int, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        uts_ns_get_size,
        uts_ns_record,
        uts_ns_get_value,
index 6aee7cbcd00f048b3939111b6453dbd0d7e46024..aa40c40fd1f929443fc614c5dfb46d54e4d6fbb8 100644 (file)
@@ -50,7 +50,7 @@ void vegid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("vegid",
                lttng_kernel_static_type_integer_from_type(gid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        vegid_get_size,
        vegid_record,
        vegid_get_value,
index 30ace857ca4424a0e207ead541250a23e5bd230b..b941967b1eb60935fe0551836a5f40ef876616db 100644 (file)
@@ -50,7 +50,7 @@ void veuid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("veuid",
                lttng_kernel_static_type_integer_from_type(uid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        veuid_get_size,
        veuid_record,
        veuid_get_value,
index eb05d30a5d9063ef2d3afd3e584cb92d2dd95da7..cd3091e8ed15aec43add9507dd14e8f68b74d878 100644 (file)
@@ -50,7 +50,7 @@ void vgid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("vgid",
                lttng_kernel_static_type_integer_from_type(gid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        vgid_get_size,
        vgid_record,
        vgid_get_value,
index 3aff90f44ab2cbae409afb18b49920034e89b5f1..47259a7d5892ff5754a5acc07b70bc9fac312e09 100644 (file)
@@ -63,7 +63,7 @@ void vpid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("vpid",
                lttng_kernel_static_type_integer_from_type(pid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        vpid_get_size,
        vpid_record,
        vpid_get_value,
index 55a84c2e7f3bdf6423df1cf696f09b571f59822c..c6f9646dbfae3d1dcdb77b12901063748f1efa4c 100644 (file)
@@ -92,7 +92,7 @@ void vppid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("vppid",
                lttng_kernel_static_type_integer_from_type(pid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        vppid_get_size,
        vppid_record,
        vppid_get_value,
index 08ee829bc1b5e16e60f41fd75420c79eca18cdff..e9b18b670319b618ec8d9da8de557325aa7f099d 100644 (file)
@@ -50,7 +50,7 @@ void vsgid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("vsgid",
                lttng_kernel_static_type_integer_from_type(gid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        vsgid_get_size,
        vsgid_record,
        vsgid_get_value,
index 36d562d1554c41a50253a0b5ba87742acd86f2bb..f7d5226bf42ffd57d1fe76784682cc4fa3c36353 100644 (file)
@@ -50,7 +50,7 @@ void vsuid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("vsuid",
                lttng_kernel_static_type_integer_from_type(uid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        vsuid_get_size,
        vsuid_record,
        vsuid_get_value,
index 9f1a399a43504d602fd935e40e39a6abf70e5f28..4cb595a6b806cd7708f0c9ead5530f9d0d7c60f7 100644 (file)
@@ -63,7 +63,7 @@ void vtid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("vtid",
                lttng_kernel_static_type_integer_from_type(pid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        vtid_get_size,
        vtid_record,
        vtid_get_value,
index 9ffc2cdf21b3594f3adc7ccadc209e4d68cd7634..c76115f406536a61cac8f1f4558ccb0efbf9cd22 100644 (file)
@@ -50,7 +50,7 @@ void vuid_get_value(void *priv,
 static const struct lttng_kernel_ctx_field *ctx_field = lttng_kernel_static_ctx_field(
        lttng_kernel_static_event_field("vuid",
                lttng_kernel_static_type_integer_from_type(uid_t, __BYTE_ORDER, 10),
-               false, false, false),
+               false, false),
        vuid_get_size,
        vuid_record,
        vuid_get_value,
index 1f49c072c7daae9a3f25a1ddccda4b9965816b5e..27d2898f971926857cb37f9d8c7040c4cf6bf66a 100644 (file)
@@ -91,7 +91,7 @@ int lttng_kprobes_event_handler_pre(struct kprobe *p, struct pt_regs *regs)
 static const struct lttng_kernel_event_field *event_fields[] = {
        lttng_kernel_static_event_field("ip",
                lttng_kernel_static_type_integer_from_type(unsigned long, __BYTE_ORDER, 16),
-               false, false, false),
+               false, false),
 };
 
 static const struct lttng_kernel_tracepoint_class tp_class = {
index 565df739047911509b5f8d963f256eec7729a28a..410e5f790bbc14780f363e39b04733e79f22836d 100644 (file)
@@ -117,10 +117,10 @@ int lttng_kretprobes_handler_exit(struct kretprobe_instance *krpi,
 static const struct lttng_kernel_event_field *event_fields[] = {
        lttng_kernel_static_event_field("ip",
                lttng_kernel_static_type_integer_from_type(unsigned long, __BYTE_ORDER, 16),
-               false, false, false),
+               false, false),
        lttng_kernel_static_event_field("parent_ip",
                lttng_kernel_static_type_integer_from_type(unsigned long, __BYTE_ORDER, 16),
-               false, false, false),
+               false, false),
 };
 
 static const struct lttng_kernel_tracepoint_class tp_class = {
index b6531a71e16df3938e364023c9d767319f71f2c6..a3cef0bf101e26fe27c3416f5d823ff3be023254 100644 (file)
@@ -101,7 +101,7 @@ int lttng_uprobes_event_handler_pre(struct uprobe_consumer *uc, struct pt_regs *
 static const struct lttng_kernel_event_field *event_fields[] = {
        lttng_kernel_static_event_field("ip",
                lttng_kernel_static_type_integer_from_type(unsigned long, __BYTE_ORDER, 16),
-               false, false, false),
+               false, false),
 };
 
 static const struct lttng_kernel_tracepoint_class tp_class = {
This page took 0.053692 seconds and 4 git commands to generate.