diff options
Diffstat (limited to 'kernel/module.c')
| -rw-r--r-- | kernel/module.c | 25 | 
1 files changed, 10 insertions, 15 deletions
diff --git a/kernel/module.c b/kernel/module.c index 1196f5d11700..77672233387f 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -822,7 +822,7 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user,  	mutex_lock(&module_mutex);  	/* Store the name of the last unloaded module for diagnostic purposes */  	strlcpy(last_unloaded_module, mod->name, sizeof(last_unloaded_module)); -	unregister_dynamic_debug_module(mod->name); +	ddebug_remove_module(mod->name);  	free_module(mod);   out: @@ -1827,19 +1827,13 @@ static inline void add_kallsyms(struct module *mod,  }  #endif /* CONFIG_KALLSYMS */ -static void dynamic_printk_setup(struct mod_debug *debug, unsigned int num) +static void dynamic_debug_setup(struct _ddebug *debug, unsigned int num)  { -#ifdef CONFIG_DYNAMIC_PRINTK_DEBUG -	unsigned int i; - -	for (i = 0; i < num; i++) { -		register_dynamic_debug_module(debug[i].modname, -					      debug[i].type, -					      debug[i].logical_modname, -					      debug[i].flag_names, -					      debug[i].hash, debug[i].hash2); -	} -#endif /* CONFIG_DYNAMIC_PRINTK_DEBUG */ +#ifdef CONFIG_DYNAMIC_DEBUG +	if (ddebug_add_module(debug, num, debug->modname)) +		printk(KERN_ERR "dynamic debug error adding module: %s\n", +					debug->modname); +#endif  }  static void *module_alloc_update_bounds(unsigned long size) @@ -2213,12 +2207,13 @@ static noinline struct module *load_module(void __user *umod,  	add_kallsyms(mod, sechdrs, symindex, strindex, secstrings);  	if (!mod->taints) { -		struct mod_debug *debug; +		struct _ddebug *debug;  		unsigned int num_debug;  		debug = section_objs(hdr, sechdrs, secstrings, "__verbose",  				     sizeof(*debug), &num_debug); -		dynamic_printk_setup(debug, num_debug); +		if (debug) +			dynamic_debug_setup(debug, num_debug);  	}  	/* sechdrs[0].sh_size is always zero */  | 
