X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-events.c;h=67ed16972a10fbdfe949f4abf8e57bf4a2be0bbd;hb=56377c91f874d50ea03d1f3f4698c77f69cbf83c;hp=636a1891be0c188a9619d5a31ee103a4f57e2c86;hpb=149b9a9d86d7351ee9a44ce391884cc12e922124;p=lttng-modules.git diff --git a/lttng-events.c b/lttng-events.c index 636a1891..67ed1697 100644 --- a/lttng-events.c +++ b/lttng-events.c @@ -743,9 +743,20 @@ struct lttng_event *_lttng_event_create(struct lttng_channel *chan, } break; case LTTNG_KERNEL_UPROBE: + /* + * Needs to be explicitly enabled after creation, since + * we may want to apply filters. + */ + event->enabled = 0; + event->registered = 1; + /* + * Populate lttng_event structure before event + * registration. + */ + smp_wmb(); ret = lttng_uprobes_register(event_param->name, - event_param->u.uprobe.path, + event_param->u.uprobe.fd, event_param->u.uprobe.offset, event); if (ret) @@ -815,6 +826,7 @@ void register_event(struct lttng_event *event) desc->name); break; case LTTNG_KERNEL_KPROBE: + case LTTNG_KERNEL_UPROBE: case LTTNG_KERNEL_KRETPROBE: case LTTNG_KERNEL_FUNCTION: case LTTNG_KERNEL_NOOP: