#include <wrapper/uaccess.h>
#include <wrapper/objtool.h>
#include <wrapper/types.h>
#include <wrapper/uaccess.h>
#include <wrapper/objtool.h>
#include <wrapper/types.h>
const struct lttng_kernel_type_enum *enum_type = lttng_kernel_get_type_enum(field->type);
const struct lttng_kernel_type_integer *integer_type = lttng_kernel_get_type_integer(enum_type->container_type);
const struct lttng_kernel_type_enum *enum_type = lttng_kernel_get_type_enum(field->type);
const struct lttng_kernel_type_integer *integer_type = lttng_kernel_get_type_integer(enum_type->container_type);
break;
case lttng_kernel_type_struct:
printk(KERN_WARNING "LTTng: bytecode: Structure type cannot be loaded.\n");
break;
case lttng_kernel_type_struct:
printk(KERN_WARNING "LTTng: bytecode: Structure type cannot be loaded.\n");
struct bytecode_runtime *runtime,
uint64_t index, struct estack_entry *stack_top)
{
struct bytecode_runtime *runtime,
uint64_t index, struct estack_entry *stack_top)
{
struct load_op *insn = (struct load_op *) pc;
struct field_ref *ref = (struct field_ref *) insn->data;
struct lttng_kernel_ctx_field *ctx_field;
struct load_op *insn = (struct load_op *) pc;
struct field_ref *ref = (struct field_ref *) insn->data;
struct lttng_kernel_ctx_field *ctx_field;
dbg_printk("get context ref offset %u type string\n",
ref->offset);
ctx_field = <tng_static_ctx->fields[ref->offset];
dbg_printk("get context ref offset %u type string\n",
ref->offset);
ctx_field = <tng_static_ctx->fields[ref->offset];
estack_push(stack, top, ax, bx, ax_t, bx_t);
estack_push(stack, top, ax, bx, ax_t, bx_t);
if (unlikely(!estack_ax(stack, top)->u.s.str)) {
dbg_printk("Bytecode warning: loading a NULL string.\n");
ret = -EINVAL;
if (unlikely(!estack_ax(stack, top)->u.s.str)) {
dbg_printk("Bytecode warning: loading a NULL string.\n");
ret = -EINVAL;
struct load_op *insn = (struct load_op *) pc;
struct field_ref *ref = (struct field_ref *) insn->data;
struct lttng_kernel_ctx_field *ctx_field;
struct load_op *insn = (struct load_op *) pc;
struct field_ref *ref = (struct field_ref *) insn->data;
struct lttng_kernel_ctx_field *ctx_field;
dbg_printk("get context ref offset %u type s64\n",
ref->offset);
ctx_field = <tng_static_ctx->fields[ref->offset];
dbg_printk("get context ref offset %u type s64\n",
ref->offset);
ctx_field = <tng_static_ctx->fields[ref->offset];
estack_push(stack, top, ax, bx, ax_t, bx_t);
estack_push(stack, top, ax, bx, ax_t, bx_t);
estack_ax_t = REG_S64;
dbg_printk("ref get context s64 %lld\n",
(long long) estack_ax_v);
estack_ax_t = REG_S64;
dbg_printk("ref get context s64 %lld\n",
(long long) estack_ax_v);
*/
int lttng_kernel_interpret_event_filter(const struct lttng_kernel_event_common *event,
const char *interpreter_stack_data,
*/
int lttng_kernel_interpret_event_filter(const struct lttng_kernel_event_common *event,
const char *interpreter_stack_data,
struct list_head *filter_bytecode_runtime_head = &event->priv->filter_bytecode_runtime_head;
struct lttng_kernel_bytecode_filter_ctx bytecode_filter_ctx;
bool filter_record = false;
struct list_head *filter_bytecode_runtime_head = &event->priv->filter_bytecode_runtime_head;
struct lttng_kernel_bytecode_filter_ctx bytecode_filter_ctx;
bool filter_record = false;