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:33 +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 0c5a296f2d3c35e493580c00336097e6e15c983b..db762879e596046cc6306d00c5f2438d13084b51 100644 (file)
@@ -52,7 +52,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>
@@ -74,9 +74,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)
@@ -97,7 +97,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)
@@ -105,7 +105,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.026451 seconds and 4 git commands to generate.