From: Mathieu Desnoyers Date: Mon, 13 Apr 2020 18:27:55 +0000 (-0400) Subject: wrapper: remove uprobes wrapper X-Git-Tag: for-upstreaming-review-1~88 X-Git-Url: http://git.liburcu.org/?p=lttng-modules.git;a=commitdiff_plain;h=a56b8216002f8bdb622c1fa56e21900bcefa42a1 wrapper: remove uprobes wrapper --- diff --git a/lttng-events.h b/lttng-events.h index 8197eb83..dc1bd0e6 100644 --- a/lttng-events.h +++ b/lttng-events.h @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/probes/lttng-uprobes.c b/probes/lttng-uprobes.c index 330fae8a..c5d28c33 100644 --- a/probes/lttng-uprobes.c +++ b/probes/lttng-uprobes.c @@ -15,11 +15,11 @@ #include #include #include +#include #include #include #include #include -#include static int lttng_uprobes_handler_pre(struct uprobe_consumer *uc, struct pt_regs *regs) @@ -167,8 +167,8 @@ int lttng_uprobes_add_callsite(struct lttng_event *event, goto register_error; } - ret = wrapper_uprobe_register(event->u.uprobe.inode, - uprobe_handler->offset, &uprobe_handler->up_consumer); + ret = uprobe_register(event->u.uprobe.inode, + uprobe_handler->offset, &uprobe_handler->up_consumer); if (ret) { printk(KERN_WARNING "Error registering probe on inode %lu " "and offset 0x%llx\n", event->u.uprobe.inode->i_ino, @@ -225,8 +225,8 @@ void lttng_uprobes_unregister(struct lttng_event *event) * and free the struct. */ list_for_each_entry_safe(iter, tmp, &event->u.uprobe.head, node) { - wrapper_uprobe_unregister(event->u.uprobe.inode, iter->offset, - &iter->up_consumer); + uprobe_unregister(event->u.uprobe.inode, iter->offset, + &iter->up_consumer); list_del(&iter->node); kfree(iter); } diff --git a/wrapper/uprobes.h b/wrapper/uprobes.h deleted file mode 100644 index d5118509..00000000 --- a/wrapper/uprobes.h +++ /dev/null @@ -1,75 +0,0 @@ -/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) - * - * wrapper/uprobes.h - * - * wrapper around uprobes. Using KALLSYMS to get its address when - * available, else we need to have a kernel that exports this function to GPL - * modules. - * - * Copyright (C) 2013 Yannick Brosseau - * Copyright (C) 2017 Francis Deslauriers - * - */ - -#ifndef _LTTNG_WRAPPER_UPROBES_H -#define _LTTNG_WRAPPER_UPROBES_H - -#include - -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)) -#include - -/* Use kallsym lookup for version before 3.9. */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) - -static inline -int wrapper_uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) -{ - return uprobe_register(inode, offset, uc); -} - -static inline -void wrapper_uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) -{ - uprobe_unregister(inode, offset, uc); -} - -#else /* Version < 3.9, use kallsym lookup. */ -#include "kallsyms.h" - -static inline -int wrapper_uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) -{ - int (*uprobe_register_sym)(struct inode *inode, loff_t offset, struct uprobe_consumer *uc); - - uprobe_register_sym = (void *) kallsyms_lookup_funcptr("uprobe_register"); - - if (uprobe_register_sym) { - return uprobe_register_sym(inode, offset, uc); - } else { - printk(KERN_WARNING "LTTng: uprobe_register symbol lookup failed.\n"); - return -EINVAL; - } -} - -static inline -void wrapper_uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consumer *uc) -{ - int (*uprobe_unregister_sym)(struct inode *inode, loff_t offset, struct uprobe_consumer *uc); - - uprobe_unregister_sym = (void *) kallsyms_lookup_funcptr("uprobe_unregister"); - - if (uprobe_unregister_sym) { - uprobe_unregister_sym(inode, offset, uc); - } else { - printk(KERN_WARNING "LTTng: uprobe_unregister symbol lookup failed.\n"); - WARN_ON(1); - } -} -#endif -#else -/* Version < 3.5, before uprobe was added. */ -struct uprobe_consumer {}; - -#endif -#endif