projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: prio context NULL pointer exception
[lttng-modules.git]
/
include
/
lttng
/
lttng-bytecode.h
diff --git
a/include/lttng/lttng-bytecode.h
b/include/lttng/lttng-bytecode.h
index 6313b2cc179d973092a95ebb31605a06325782ab..f104b0ebfdf0ff4043eb82496d4cf216f5052565 100644
(file)
--- a/
include/lttng/lttng-bytecode.h
+++ b/
include/lttng/lttng-bytecode.h
@@
-13,6
+13,7
@@
#include <linux/kernel.h>
#include <lttng/events.h>
#include <linux/kernel.h>
#include <lttng/events.h>
+#include <lttng/events-internal.h>
#include <lttng/bytecode.h>
/* Interpreter stack length, in number of entries */
#include <lttng/bytecode.h>
/* Interpreter stack length, in number of entries */
@@
-34,14
+35,14
@@
do { \
} while (0)
#endif
} while (0)
#endif
-/* Linked bytecode. Child of struct lttng_bytecode_runtime. */
+/* Linked bytecode. Child of struct lttng_
kernel_
bytecode_runtime. */
struct bytecode_runtime {
struct bytecode_runtime {
- struct lttng_bytecode_runtime p;
+ struct lttng_
kernel_
bytecode_runtime p;
size_t data_len;
size_t data_alloc_len;
char *data;
uint16_t len;
size_t data_len;
size_t data_alloc_len;
char *data;
uint16_t len;
- char code[
0
];
+ char code[];
};
enum entry_type {
};
enum entry_type {
@@
-101,6
+102,7
@@
struct bytecode_get_index_data {
size_t len;
enum object_type type;
bool rev_bo; /* reverse byte order */
size_t len;
enum object_type type;
bool rev_bo; /* reverse byte order */
+ bool user; /* from userspace */
} elem;
};
} 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 */
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 {
};
struct vstack_entry {
@@
-179,6
+182,7
@@
struct load_ptr {
const void *ptr;
size_t nr_elem;
bool rev_bo;
const void *ptr;
size_t nr_elem;
bool rev_bo;
+ bool user; /* from userspace */
/* Temporary place-holders for contexts. */
union {
int64_t s64;
/* 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;
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;
} s;
struct load_ptr ptr;
} u;
@@
-270,7
+274,9
@@
struct lttng_interpreter_output {
struct {
const char *str;
struct {
const char *str;
+ const char __user *user_str;
size_t len;
size_t len;
+ bool user; /* is string from userspace ? */
} str;
struct {
const void *ptr;
} str;
struct {
const void *ptr;
@@
-284,19
+290,20
@@
struct lttng_interpreter_output {
const char *lttng_bytecode_print_op(enum bytecode_op op);
const char *lttng_bytecode_print_op(enum bytecode_op op);
-void lttng_bytecode_sync_state(struct lttng_bytecode_runtime *runtime);
+void lttng_bytecode_sync_state(struct lttng_
kernel_
bytecode_runtime *runtime);
int lttng_bytecode_validate(struct bytecode_runtime *bytecode);
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);
int lttng_bytecode_specialize(const struct lttng_kernel_event_desc *event_desc,
struct bytecode_runtime *bytecode);
-int lttng_bytecode_interpret_error(struct lttng_bytecode_runtime *bytecode_runtime,
+int lttng_bytecode_interpret_error(struct lttng_
kernel_
bytecode_runtime *bytecode_runtime,
const char *stack_data,
const char *stack_data,
- struct lttng_probe_ctx *probe_ctx,
+ struct lttng_
kernel_
probe_ctx *probe_ctx,
void *ctx);
void *ctx);
-int lttng_bytecode_interpret(struct lttng_bytecode_runtime *kernel_bytecode,
+int lttng_bytecode_interpret(struct lttng_
kernel_
bytecode_runtime *kernel_bytecode,
const char *interpreter_stack_data,
const char *interpreter_stack_data,
- struct lttng_probe_ctx *lttng_probe_ctx,
+ struct lttng_
kernel_
probe_ctx *lttng_probe_ctx,
void *caller_ctx);
#endif /* _LTTNG_FILTER_H */
void *caller_ctx);
#endif /* _LTTNG_FILTER_H */
This page took
0.024394 seconds
and
4
git commands to generate.