mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
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: Ben Hutchings <[email protected]> Acked-by: Mathieu Desnoyers <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
This commit is contained in:
1 parent
43672a0784
commit
1cd0d6c302
1 file changed
+2
-4
+2
-4
@@ -2878,8 +2878,7 @@ 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);
|
||||
dynamic_debug_setup(info.debug, info.num_debug);
|
||||
|
||||
/* Find duplicate symbols */
|
||||
err = verify_export_symbols(mod);
|
||||
@@ -2915,8 +2914,7 @@ 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);
|
||||
dynamic_debug_remove(info.debug);
|
||||
unlock:
|
||||
mutex_unlock(&module_mutex);
|
||||
synchronize_sched();
|
||||
|
||||
Reference in new issue
Block a user