pstore: Avoid race in module unloading
Technically, it might be possible for struct pstore_info to go out of scope after the module_put(), so report the backend name first. Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
@@ -722,10 +722,10 @@ int pstore_register(struct pstore_info *psi)
|
|||||||
*/
|
*/
|
||||||
backend = psi->name;
|
backend = psi->name;
|
||||||
|
|
||||||
module_put(owner);
|
|
||||||
|
|
||||||
pr_info("Registered %s as persistent store backend\n", psi->name);
|
pr_info("Registered %s as persistent store backend\n", psi->name);
|
||||||
|
|
||||||
|
module_put(owner);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(pstore_register);
|
EXPORT_SYMBOL_GPL(pstore_register);
|
||||||
|
|||||||
Reference in New Issue
Block a user