[PATCH] spufs: fix module refcount race
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>
This commit is contained in:
Родитель
a819f8ba76
Коммит
59d6d39f30
|
@ -40,7 +40,7 @@ asmlinkage long sys_spu_create(const char __user *name,
|
|||
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);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче