Drop 'linux/uprobes.h' wrapper
authorMichael Jeanson <mjeanson@efficios.com>
Fri, 18 Nov 2022 17:34:26 +0000 (12:34 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 23 Nov 2022 20:02:46 +0000 (15:02 -0500)
Change-Id: I6870122c24a9b8cb3cf8c5c0c75a78c2ec96f32b
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/lttng/events.h
include/wrapper/uprobes.h [deleted file]
src/probes/lttng-uprobes.c

index ee2552ba8f2ccc97c320d8414f6c04177d96213c..22f654be96d4a92ad5c68b80d24fcb372ad0bfc8 100644 (file)
@@ -16,7 +16,8 @@
 #include <linux/kref.h>
 #include <linux/uuid.h>
 #include <linux/irq_work.h>
-#include <wrapper/uprobes.h>
+#include <linux/uprobes.h>
+
 #include <lttng/cpuhotplug.h>
 #include <lttng/tracer.h>
 #include <lttng/abi.h>
diff --git a/include/wrapper/uprobes.h b/include/wrapper/uprobes.h
deleted file mode 100644 (file)
index 9cbbe3b..0000000
+++ /dev/null
@@ -1,102 +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 <yannick.brosseau@gmail.com>
- * Copyright (C) 2017 Francis Deslauriers <francis.deslauriers@efficios.com>
- *
- */
-
-#ifndef _LTTNG_WRAPPER_UPROBES_H
-#define _LTTNG_WRAPPER_UPROBES_H
-
-#include <lttng/kernel-version.h>
-
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,5,0))
-#include <linux/uprobes.h>
-
-/* Use kallsym lookup for version before 3.9. */
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_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;
-       }
-}
-
-/*
- * Canary function to check for 'uprobe_register()' at compile time.
- *
- * From 'include/linux/uprobes.h':
- *
- *   extern int uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc);
- */
-static inline
-int __canary__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)
-{
-        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);
-        }
-}
-
-/*
- * Canary function to check for 'uprobe_unregister()' at compile time.
- *
- * From 'include/linux/uprobes.h':
- *
- *   extern void uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consumer *uc);
- */
-static inline
-void __canary__uprobe_unregister(struct inode *inode, loff_t offset, struct uprobe_consumer *uc)
-{
-       uprobe_unregister(inode, offset, uc);
-}
-
-#endif
-#else
-/* Version <  3.5, before uprobe was added. */
-struct uprobe_consumer {};
-
-#endif
-#endif
index a3cef0bf101e26fe27c3416f5d823ff3be023254..549fa6628364bb124f537dc13e9f9333dcee2bde 100644 (file)
 #include <linux/namei.h>
 #include <linux/slab.h>
 #include <linux/uaccess.h>
+#include <linux/uprobes.h>
+
 #include <lttng/events.h>
 #include <lttng/events-internal.h>
 #include <lttng/tracer.h>
 #include <wrapper/irqflags.h>
 #include <ringbuffer/frontend_types.h>
-#include <wrapper/uprobes.h>
 #include <wrapper/vmalloc.h>
 
 static
@@ -201,7 +202,7 @@ int lttng_uprobes_add_callsite(struct lttng_uprobe *uprobe,
                goto register_error;
        }
 
-       ret = wrapper_uprobe_register(uprobe->inode,
+       ret = uprobe_register(uprobe->inode,
                      uprobe_handler->offset, &uprobe_handler->up_consumer);
        if (ret) {
                printk(KERN_WARNING "LTTng: Error registering probe on inode %lu "
@@ -280,7 +281,7 @@ void lttng_uprobes_unregister(struct inode *inode, struct list_head *head)
         * and free the struct.
         */
        list_for_each_entry_safe(iter, tmp, head, node) {
-               wrapper_uprobe_unregister(inode, iter->offset, &iter->up_consumer);
+               uprobe_unregister(inode, iter->offset, &iter->up_consumer);
                list_del(&iter->node);
                kfree(iter);
        }
This page took 0.028064 seconds and 4 git commands to generate.