X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-filter-validator.c;h=b15dfaf97cc1283d549c0624819d03505aebebd8;hb=refs%2Fheads%2Fstable-2.9;hp=fb5d2d6d899f5dcc27257500e2fd8754c927f4ec;hpb=d216ecaeeb6274154ace1317f61b9f3fe54ba857;p=lttng-modules.git diff --git a/lttng-filter-validator.c b/lttng-filter-validator.c index fb5d2d6d..b15dfaf9 100644 --- a/lttng-filter-validator.c +++ b/lttng-filter-validator.c @@ -20,11 +20,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include #include #include -#include "wrapper/list.h" -#include "lttng-filter.h" +#include +#include #define MERGE_POINT_TABLE_BITS 7 #define MERGE_POINT_TABLE_SIZE (1U << MERGE_POINT_TABLE_BITS) @@ -103,8 +104,9 @@ int merge_point_add_check(struct mp_table *mp_table, unsigned long target_pc, target_pc); return -EINVAL; } + } else { + hlist_add_head(&mp_node->node, head); } - hlist_add_head(&mp_node->node, head); return 0; } @@ -164,7 +166,7 @@ error_mismatch: */ static int bytecode_validate_overflow(struct bytecode_runtime *bytecode, - void *start_pc, void *pc) + char *start_pc, char *pc) { int ret = 0; @@ -385,8 +387,8 @@ unsigned long delete_all_nodes(struct mp_table *mp_table) static int validate_instruction_context(struct bytecode_runtime *bytecode, struct vstack *stack, - void *start_pc, - void *pc) + char *start_pc, + char *pc) { int ret = 0; @@ -722,8 +724,8 @@ static int validate_instruction_all_contexts(struct bytecode_runtime *bytecode, struct mp_table *mp_table, struct vstack *stack, - void *start_pc, - void *pc) + char *start_pc, + char *pc) { int ret, found = 0; unsigned long target_pc = pc - start_pc; @@ -771,11 +773,11 @@ static int exec_insn(struct bytecode_runtime *bytecode, struct mp_table *mp_table, struct vstack *stack, - void **_next_pc, - void *pc) + char **_next_pc, + char *pc) { int ret = 1; - void *next_pc = *_next_pc; + char *next_pc = *_next_pc; switch (*(filter_opcode_t *) pc) { case FILTER_OP_UNKNOWN: @@ -1015,7 +1017,7 @@ end: int lttng_filter_validate_bytecode(struct bytecode_runtime *bytecode) { struct mp_table *mp_table; - void *pc, *next_pc, *start_pc; + char *pc, *next_pc, *start_pc; int ret = -EINVAL; struct vstack stack;