Module: check to see if we have a built in module with the same name
When trying to load a module with the same name as a built-in one, a scary kobject backtrace comes up. Prevent that from checking for this condition and warning the user as to what exactly is going on. Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
0aa5bd52d0
commit
6494a93d55
1 changed files with 10 additions and 0 deletions
|
@ -1230,6 +1230,7 @@ void module_remove_modinfo_attrs(struct module *mod)
|
|||
int mod_sysfs_init(struct module *mod)
|
||||
{
|
||||
int err;
|
||||
struct kobject *kobj;
|
||||
|
||||
if (!module_sysfs_initialized) {
|
||||
printk(KERN_ERR "%s: module sysfs not initialized\n",
|
||||
|
@ -1237,6 +1238,15 @@ int mod_sysfs_init(struct module *mod)
|
|||
err = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
kobj = kset_find_obj(module_kset, mod->name);
|
||||
if (kobj) {
|
||||
printk(KERN_ERR "%s: module is already loaded\n", mod->name);
|
||||
kobject_put(kobj);
|
||||
err = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
mod->mkobj.mod = mod;
|
||||
|
||||
memset(&mod->mkobj.kobj, 0, sizeof(mod->mkobj.kobj));
|
||||
|
|
Loading…
Reference in a new issue