One of the two users of spufs_calls.owner still has a race
when calling try_module_get while the module is removed.
This makes it use the correct instance of owner.
Noticed by Milton Miller.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
struct module *owner = spufs_calls.owner;
ret = -ENOSYS;
- if (owner && try_module_get(spufs_calls.owner)) {
+ if (owner && try_module_get(owner)) {
ret = spufs_calls.create_thread(name, flags, mode);
module_put(owner);
}