X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=ltt-events.c;h=29d0ed749b78db62258e22506231452c0397bf19;hb=f17701fb89c69c3950c22a0c20d0233092e7d6ed;hp=ec5d6830d4355fa64d91b1870d9443874dae8bd3;hpb=d6d808f3780d0b519aaf966e66df501730db7d13;p=lttng-modules.git diff --git a/ltt-events.c b/ltt-events.c index ec5d6830..29d0ed74 100644 --- a/ltt-events.c +++ b/ltt-events.c @@ -237,24 +237,13 @@ struct ltt_event *ltt_event_create(struct ltt_channel *chan, char *name, goto register_error; break; case LTTNG_KERNEL_KPROBES: - event->u.kprobe.kp.pre_handler = lttng_kprobes_handler_pre; - event->u.kprobe.symbol_name = - kzalloc(LTTNG_KPROBE_SYM_NAME_LEN * sizeof(char), - GFP_KERNEL); - if (!event->u.kprobe.symbol_name) - goto register_error; - memcpy(event->u.kprobe.symbol_name, - event_param->u.kprobe.symbol_name, - LTTNG_KPROBE_SYM_NAME_LEN * sizeof(char)); - event->u.kprobe.kp.symbol_name = - event->u.kprobe.symbol_name; - event->u.kprobe.kp.offset = event_param->u.kprobe.offset; - event->u.kprobe.kp.addr = (void *) event_param->u.kprobe.addr; - ret = register_kprobe(&event->u.kprobe.kp); - if (ret) { - kfree(event->u.kprobe.symbol_name); + ret = lttng_kprobes_register(name, + event_param->u.kprobe.symbol_name, + event_param->u.kprobe.offset, + event_param->u.kprobe.addr, + event); + if (ret) goto register_error; - } break; default: WARN_ON_ONCE(1); @@ -294,8 +283,7 @@ int _ltt_event_unregister(struct ltt_event *event) return ret; break; case LTTNG_KERNEL_KPROBES: - unregister_kprobe(&event->u.kprobe.kp); - kfree(event->u.kprobe.symbol_name); + lttng_kprobes_unregister(event); ret = 0; break; default: