Explorar el Código

[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>
Arnd Bergmann hace 19 años
padre
commit
59d6d39f30
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      arch/powerpc/platforms/cell/spu_syscalls.c

+ 1 - 1
arch/powerpc/platforms/cell/spu_syscalls.c

@@ -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);
 	}