Drop support for kernels < 4.4 from 'wrapper/vmalloc.h'
[lttng-modules.git] / include / lttng / lttng-bytecode.h
index 87a0c13d95c4631f2ffcf1752553970cf9bec12e..5bff5b00497a068a3f872f1eea76a78b0201bc85 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/kernel.h>
 
 #include <lttng/events.h>
+#include <lttng/events-internal.h>
 #include <lttng/bytecode.h>
 
 /* Interpreter stack length, in number of entries */
@@ -101,6 +102,7 @@ struct bytecode_get_index_data {
                size_t len;
                enum object_type type;
                bool rev_bo;    /* reverse byte order */
+               bool user;      /* from userspace */
        } elem;
 };
 
@@ -110,6 +112,7 @@ struct vstack_load {
        enum object_type object_type;
        const struct lttng_kernel_event_field *field;
        bool rev_bo;    /* reverse byte order */
+       bool user;      /* from userspace */
 };
 
 struct vstack_entry {
@@ -179,6 +182,7 @@ struct load_ptr {
        const void *ptr;
        size_t nr_elem;
        bool rev_bo;
+       bool user;      /* from userspace */
        /* Temporary place-holders for contexts. */
        union {
                int64_t s64;
@@ -198,7 +202,7 @@ struct estack_entry {
                        const char __user *user_str;
                        size_t seq_len;
                        enum estack_string_literal_type literal_type;
-                       int user;               /* is string from userspace ? */
+                       bool user;              /* is string from userspace ? */
                } s;
                struct load_ptr ptr;
        } u;
@@ -270,7 +274,9 @@ struct lttng_interpreter_output {
 
                struct {
                        const char *str;
+                       const char __user *user_str;
                        size_t len;
+                       bool user;              /* is string from userspace ? */
                } str;
                struct {
                        const void *ptr;
@@ -286,6 +292,7 @@ const char *lttng_bytecode_print_op(enum bytecode_op op);
 
 void lttng_bytecode_sync_state(struct lttng_kernel_bytecode_runtime *runtime);
 int lttng_bytecode_validate(struct bytecode_runtime *bytecode);
+int lttng_bytecode_validate_load(struct bytecode_runtime *bytecode);
 int lttng_bytecode_specialize(const struct lttng_kernel_event_desc *event_desc,
                struct bytecode_runtime *bytecode);
 
This page took 0.022809 seconds and 4 git commands to generate.