libkmod-module: probe: return -EEXIST if told to do so

Commit "af9572c lib/module: check initstate before inserting module"
removed the check for "we should return -EEXIST" and moved it back to
the start of the function. The problem with this is the following
scenario:

- We check if module is in kernel -> no
- We insert the dependencies
					<-- External program loads
					the module
- We check if module is in kernel -> yes
- We return 0, when we should return -EEXIST
This commit is contained in:
Lucas De Marchi 2012-02-06 12:52:27 -02:00
parent 814a57babf
commit 08600ee579

View File

@ -1188,9 +1188,8 @@ KMOD_EXPORT int kmod_module_probe_insert_module(struct kmod_module *mod,
&& module_is_inkernel(m)) {
DBG(mod->ctx, "Ignoring module '%s': "
"already loaded\n", m->name);
err = 0;
free(options);
continue;
err = -EEXIST;
goto finish_module;
}
if (print_action != NULL)
print_action(m, false, options ?: "");
@ -1200,6 +1199,7 @@ KMOD_EXPORT int kmod_module_probe_insert_module(struct kmod_module *mod,
options);
}
finish_module:
free(options);
/*