X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Flttng-events.c;h=9b78ac56f5d43b0fcae0e3d60a38c18965419d04;hb=52cfcdf36dfa58e0b6fb0ac3e1809e5a2538a149;hp=85a064fc686cc1d13cd4bf3a9775a36a9820b5e4;hpb=183e8b3ade0b58852561b334b3455988c743ebc9;p=lttng-modules.git diff --git a/src/lttng-events.c b/src/lttng-events.c index 85a064fc..9b78ac56 100644 --- a/src/lttng-events.c +++ b/src/lttng-events.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -2031,7 +2032,7 @@ int lttng_event_enabler_ref_events(struct lttng_event_enabler *event_enabler) lttng_enabler_link_bytecode(event->desc, lttng_static_ctx, &event->filter_bytecode_runtime_head, - lttng_event_enabler_as_enabler(event_enabler)); + <tng_event_enabler_as_enabler(event_enabler)->filter_bytecode_head); /* TODO: merge event context. */ } @@ -2118,7 +2119,7 @@ int lttng_event_notifier_enabler_ref_event_notifiers( */ lttng_enabler_link_bytecode(event_notifier->desc, lttng_static_ctx, &event_notifier->filter_bytecode_runtime_head, - lttng_event_notifier_enabler_as_enabler(event_notifier_enabler)); + <tng_event_notifier_enabler_as_enabler(event_notifier_enabler)->filter_bytecode_head); } return 0; } @@ -2217,14 +2218,14 @@ static int lttng_enabler_attach_filter_bytecode(struct lttng_enabler *enabler, struct lttng_kernel_filter_bytecode __user *bytecode) { - struct lttng_filter_bytecode_node *bytecode_node; + struct lttng_bytecode_node *bytecode_node; uint32_t bytecode_len; int ret; ret = get_user(bytecode_len, &bytecode->len); if (ret) return ret; - bytecode_node = kzalloc(sizeof(*bytecode_node) + bytecode_len, + bytecode_node = lttng_kvzalloc(sizeof(*bytecode_node) + bytecode_len, GFP_KERNEL); if (!bytecode_node) return -ENOMEM; @@ -2233,6 +2234,7 @@ int lttng_enabler_attach_filter_bytecode(struct lttng_enabler *enabler, if (ret) goto error_free; + bytecode_node->type = LTTNG_BYTECODE_NODE_TYPE_FILTER; bytecode_node->enabler = enabler; /* Enforce length based on allocated size */ bytecode_node->bc.len = bytecode_len; @@ -2241,7 +2243,7 @@ int lttng_enabler_attach_filter_bytecode(struct lttng_enabler *enabler, return 0; error_free: - kfree(bytecode_node); + lttng_kvfree(bytecode_node); return ret; } @@ -2282,12 +2284,12 @@ int lttng_event_enabler_attach_context(struct lttng_event_enabler *event_enabler static void lttng_enabler_destroy(struct lttng_enabler *enabler) { - struct lttng_filter_bytecode_node *filter_node, *tmp_filter_node; + struct lttng_bytecode_node *filter_node, *tmp_filter_node; /* Destroy filter bytecode */ list_for_each_entry_safe(filter_node, tmp_filter_node, &enabler->filter_bytecode_head, node) { - kfree(filter_node); + lttng_kvfree(filter_node); } } @@ -2479,7 +2481,7 @@ void lttng_session_sync_event_enablers(struct lttng_session *session) /* Enable filters */ list_for_each_entry(runtime, &event->filter_bytecode_runtime_head, node) - lttng_filter_sync_state(runtime); + lttng_bytecode_filter_sync_state(runtime); } } @@ -2562,7 +2564,7 @@ void lttng_event_notifier_group_sync_enablers(struct lttng_event_notifier_group /* Enable filters */ list_for_each_entry(runtime, &event_notifier->filter_bytecode_runtime_head, node) - lttng_filter_sync_state(runtime); + lttng_bytecode_filter_sync_state(runtime); } }