Remove work-around for signed tracepoint module tainting (kernel 3.15+)
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 2 Mar 2020 15:40:26 +0000 (10:40 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 4 Mar 2020 14:59:25 +0000 (09:59 -0500)
Upstream commit 66cc69e34e86a "Fix: module signature vs tracepoints: add
new TAINT_UNSIGNED_MODULE" fixed an issue where the kernel was
considering unsigned modules as tainting the kernel in the same way as a
force-loaded modules, which was causing the tracepoints within those
modules to be hidden.

This fix was merged in kernel 3.15, so there is no use in applying this
work-around starting from that kernel.

This removes a dependency on kallsyms_lookup_name() for the symbol
"tracepoint_module_notify".

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
wrapper/tracepoint.h

index 6ee421770511a3db5f18fcb5a15c06e947151263..08e8ccabff3eb910bf06b42f9c9fe54aa5cc55e3 100644 (file)
@@ -46,7 +46,7 @@ void lttng_tracepoint_exit(void)
 
 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)) */
 
-#ifdef CONFIG_MODULE_SIG
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0) && defined(CONFIG_MODULE_SIG))
 
 #include <linux/kallsyms.h>
 #include <wrapper/kallsyms.h>
@@ -68,9 +68,9 @@ int wrapper_tracepoint_module_notify(struct notifier_block *nb,
        }
 }
 
-#endif /* CONFIG_MODULE_SIG */
+#endif /* #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0) && defined(CONFIG_MODULE_SIG)) */
 
-#if defined(CONFIG_MODULE_SIG) && defined(MODULE)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0) && defined(CONFIG_MODULE_SIG) && defined(MODULE))
 
 static inline
 int wrapper_lttng_fixup_sig(struct module *mod)
@@ -91,7 +91,7 @@ int wrapper_lttng_fixup_sig(struct module *mod)
        return ret;
 }
 
-#else /* #if defined(CONFIG_MODULE_SIG) && defined(MODULE) */
+#else /* #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0) && defined(CONFIG_MODULE_SIG) && defined(MODULE)) */
 
 static inline
 int wrapper_lttng_fixup_sig(struct module *mod)
@@ -99,7 +99,7 @@ int wrapper_lttng_fixup_sig(struct module *mod)
        return 0;
 }
 
-#endif /*#else #if defined(CONFIG_MODULE_SIG) && defined(MODULE) */
+#endif /* #else #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0) && defined(CONFIG_MODULE_SIG) && defined(MODULE)) */
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0))
 static inline struct tracepoint *lttng_tracepoint_ptr_deref(tracepoint_ptr_t *p)
This page took 0.025998 seconds and 4 git commands to generate.