Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1cd0d6c3 authored by Ben Hutchings's avatar Ben Hutchings Committed by Rusty Russell
Browse files

module: Enable dynamic debugging regardless of taint



Dynamic debugging is currently disabled for tainted modules, except
for TAINT_CRAP.  This prevents use of dynamic debugging for
out-of-tree modules once the next patch is applied.

This condition was apparently intended to avoid a crash if a force-
loaded module has an incompatible definition of dynamic debug
structures.  However, a administrator that forces us to load a module
is claiming that it *is* compatible even though it fails our version
checks.  If they are mistaken, there are any number of ways the module
could crash the system.

As a side-effect, proprietary and other tainted modules can now use
dynamic_debug.

Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
Acked-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent 43672a07
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -2878,7 +2878,6 @@ static struct module *load_module(void __user *umod,
	}

	/* This has to be done once we're sure module name is unique. */
	if (!mod->taints || mod->taints == (1U<<TAINT_CRAP))
	dynamic_debug_setup(info.debug, info.num_debug);

	/* Find duplicate symbols */
@@ -2915,7 +2914,6 @@ static struct module *load_module(void __user *umod,
	module_bug_cleanup(mod);

 ddebug:
	if (!mod->taints || mod->taints == (1U<<TAINT_CRAP))
	dynamic_debug_remove(info.debug);
 unlock:
	mutex_unlock(&module_mutex);