Fix: bytecode linker: iteration on wrong list head
[deliverable/lttng-modules.git] / src / lttng-bytecode.c
index 86ffe94985147aec879dc9e9151d95ade9af83b7..343e53801b09674d4814c1b926095d9e953c02d3 100644 (file)
@@ -398,6 +398,7 @@ static
 int link_bytecode(const struct lttng_event_desc *event_desc,
                struct lttng_ctx *ctx,
                struct lttng_bytecode_node *bytecode,
+               struct list_head *bytecode_runtime_head,
                struct list_head *insert_loc)
 {
        int ret, offset, next_offset;
@@ -407,7 +408,7 @@ int link_bytecode(const struct lttng_event_desc *event_desc,
        if (!bytecode)
                return 0;
        /* Bytecode already linked */
-       if (bytecode_is_linked(bytecode, insert_loc))
+       if (bytecode_is_linked(bytecode, bytecode_runtime_head))
                return 0;
 
        dbg_printk("Linking...\n");
@@ -566,7 +567,7 @@ void lttng_enabler_link_bytecode(const struct lttng_event_desc *event_desc,
                insert_loc = instance_bytecode_head;
        add_within:
                dbg_printk("linking bytecode\n");
-               ret = link_bytecode(event_desc, ctx, enabler_bc, insert_loc);
+               ret = link_bytecode(event_desc, ctx, enabler_bc, instance_bytecode_head, insert_loc);
                if (ret) {
                        dbg_printk("[lttng filter] warning: cannot link event bytecode\n");
                }
This page took 0.024712 seconds and 5 git commands to generate.