X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Flttng-events.c;h=647c7827e45241d42dd466cf7c07ecd5b65bc897;hb=053554ae9a8bb39e257446b2efa30905a06f6fb2;hp=6907b5a0f347d069ee8f5472b661b51eae0512f4;hpb=3c6beb8d0a658c617b2808abec04008edf9e3094;p=lttng-modules.git diff --git a/src/lttng-events.c b/src/lttng-events.c index 6907b5a0..647c7827 100644 --- a/src/lttng-events.c +++ b/src/lttng-events.c @@ -981,7 +981,7 @@ struct lttng_kernel_event_recorder *_lttng_kernel_event_recorder_create(struct l event_param->u.kprobe.symbol_name, event_param->u.kprobe.offset, event_param->u.kprobe.addr, - event_recorder); + &event_recorder->parent); if (ret) { ret = -EINVAL; goto register_error; @@ -1036,7 +1036,7 @@ struct lttng_kernel_event_recorder *_lttng_kernel_event_recorder_create(struct l event_param->u.kretprobe.symbol_name, event_param->u.kretprobe.offset, event_param->u.kretprobe.addr, - event_recorder, event_recorder_return); + &event_recorder->parent, &event_recorder_return->parent); if (ret) { kmem_cache_free(event_recorder_private_cache, event_recorder_return_priv); kmem_cache_free(event_recorder_cache, event_recorder_return); @@ -1114,7 +1114,7 @@ struct lttng_kernel_event_recorder *_lttng_kernel_event_recorder_create(struct l ret = lttng_uprobes_register_event(event_param->name, event_param->u.uprobe.fd, - event_recorder); + &event_recorder->parent); if (ret) goto register_error; ret = try_module_get(event_recorder->priv->parent.desc->owner); @@ -1257,11 +1257,11 @@ struct lttng_kernel_event_notifier *_lttng_event_notifier_create( * registration. */ smp_wmb(); - ret = lttng_kprobes_register_event_notifier( + ret = lttng_kprobes_register_event(event_notifier_param->event.u.kprobe.symbol_name, event_notifier_param->event.u.kprobe.symbol_name, event_notifier_param->event.u.kprobe.offset, event_notifier_param->event.u.kprobe.addr, - event_notifier); + &event_notifier->parent); if (ret) { ret = -EINVAL; goto register_error; @@ -1321,10 +1321,9 @@ struct lttng_kernel_event_notifier *_lttng_event_notifier_create( */ smp_wmb(); - ret = lttng_uprobes_register_event_notifier( - event_notifier_param->event.name, + ret = lttng_uprobes_register_event(event_notifier_param->event.name, event_notifier_param->event.u.uprobe.fd, - event_notifier); + &event_notifier->parent); if (ret) goto register_error; ret = try_module_get(event_notifier->priv->parent.desc->owner); @@ -1456,7 +1455,7 @@ void register_event_recorder(struct lttng_kernel_event_recorder *event_recorder) break; case LTTNG_KERNEL_ABI_SYSCALL: - ret = lttng_syscall_filter_enable_event_recorder(event_recorder); + ret = lttng_syscall_filter_enable_event(&event_recorder->parent); break; case LTTNG_KERNEL_ABI_KPROBE: @@ -1499,17 +1498,17 @@ int _lttng_event_recorder_unregister(struct lttng_kernel_event_recorder *event_r break; case LTTNG_KERNEL_ABI_KPROBE: - lttng_kprobes_unregister_event(event_recorder); + lttng_kprobes_unregister_event(&event_recorder->parent); ret = 0; break; case LTTNG_KERNEL_ABI_KRETPROBE: - lttng_kretprobes_unregister(event_recorder); + lttng_kretprobes_unregister(&event_recorder->parent); ret = 0; break; case LTTNG_KERNEL_ABI_SYSCALL: - ret = lttng_syscall_filter_disable_event_recorder(event_recorder); + ret = lttng_syscall_filter_disable_event(&event_recorder->parent); break; case LTTNG_KERNEL_ABI_NOOP: @@ -1517,7 +1516,7 @@ int _lttng_event_recorder_unregister(struct lttng_kernel_event_recorder *event_r break; case LTTNG_KERNEL_ABI_UPROBE: - lttng_uprobes_unregister_event(event_recorder); + lttng_uprobes_unregister_event(&event_recorder->parent); ret = 0; break; @@ -1550,7 +1549,7 @@ void register_event_notifier(struct lttng_kernel_event_notifier *event_notifier) break; case LTTNG_KERNEL_ABI_SYSCALL: - ret = lttng_syscall_filter_enable_event_notifier(event_notifier); + ret = lttng_syscall_filter_enable_event(&event_notifier->parent); break; case LTTNG_KERNEL_ABI_KPROBE: @@ -1591,17 +1590,17 @@ int _lttng_event_notifier_unregister( break; case LTTNG_KERNEL_ABI_KPROBE: - lttng_kprobes_unregister_event_notifier(event_notifier); + lttng_kprobes_unregister_event(&event_notifier->parent); ret = 0; break; case LTTNG_KERNEL_ABI_UPROBE: - lttng_uprobes_unregister_event_notifier(event_notifier); + lttng_uprobes_unregister_event(&event_notifier->parent); ret = 0; break; case LTTNG_KERNEL_ABI_SYSCALL: - ret = lttng_syscall_filter_disable_event_notifier(event_notifier); + ret = lttng_syscall_filter_disable_event(&event_notifier->parent); break; case LTTNG_KERNEL_ABI_KRETPROBE: @@ -1646,12 +1645,12 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event) case LTTNG_KERNEL_ABI_KPROBE: module_put(event_priv->desc->owner); - lttng_kprobes_destroy_event_private(event_recorder); + lttng_kprobes_destroy_event_private(&event_recorder->parent); break; case LTTNG_KERNEL_ABI_KRETPROBE: module_put(event_priv->desc->owner); - lttng_kretprobes_destroy_private(event_recorder); + lttng_kretprobes_destroy_private(&event_recorder->parent); break; case LTTNG_KERNEL_ABI_SYSCALL: @@ -1659,7 +1658,7 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event) case LTTNG_KERNEL_ABI_UPROBE: module_put(event_priv->desc->owner); - lttng_uprobes_destroy_event_private(event_recorder); + lttng_uprobes_destroy_event_private(&event_recorder->parent); break; case LTTNG_KERNEL_ABI_FUNCTION: @@ -1686,7 +1685,7 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event) case LTTNG_KERNEL_ABI_KPROBE: module_put(event_notifier->priv->parent.desc->owner); - lttng_kprobes_destroy_event_notifier_private(event_notifier); + lttng_kprobes_destroy_event_private(&event_notifier->parent); break; case LTTNG_KERNEL_ABI_SYSCALL: @@ -1694,7 +1693,7 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event) case LTTNG_KERNEL_ABI_UPROBE: module_put(event_notifier->priv->parent.desc->owner); - lttng_uprobes_destroy_event_notifier_private(event_notifier); + lttng_uprobes_destroy_event_private(&event_notifier->parent); break; case LTTNG_KERNEL_ABI_KRETPROBE: @@ -2239,22 +2238,11 @@ void lttng_create_tracepoint_event_notifier_if_missing(struct lttng_event_notifi } static -void lttng_create_syscall_event_if_missing(struct lttng_event_recorder_enabler *event_enabler) +void lttng_create_syscall_event_if_missing(struct lttng_event_enabler_common *event_enabler) { int ret; - ret = lttng_syscalls_register_event_recorder(event_enabler); - WARN_ON_ONCE(ret); -} - -static -void lttng_create_syscall_event_notifier_if_missing(struct lttng_event_notifier_enabler *event_notifier_enabler) -{ - int ret; - - ret = lttng_syscalls_register_event_notifier(event_notifier_enabler); - WARN_ON_ONCE(ret); - ret = lttng_syscalls_create_matching_event_notifiers(event_notifier_enabler); + ret = lttng_syscalls_register_event(event_enabler); WARN_ON_ONCE(ret); } @@ -2272,7 +2260,7 @@ void lttng_create_event_if_missing(struct lttng_event_recorder_enabler *event_en break; case LTTNG_KERNEL_ABI_SYSCALL: - lttng_create_syscall_event_if_missing(event_enabler); + lttng_create_syscall_event_if_missing(&event_enabler->parent); break; default: @@ -2358,7 +2346,7 @@ void lttng_create_event_notifier_if_missing(struct lttng_event_notifier_enabler break; case LTTNG_KERNEL_ABI_SYSCALL: - lttng_create_syscall_event_notifier_if_missing(event_notifier_enabler); + lttng_create_syscall_event_if_missing(&event_notifier_enabler->parent); break; default: