From e7c1c00cf3fafde7496e31cacd718a51d0e7d70c Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Mon, 4 May 2020 19:21:54 -0700 Subject: [PATCH] pstore: Drop useless try_module_get() for backend There is no reason to be doing a module get/put in pstore_register(), since the module calling pstore_register() cannot be unloaded since it hasn't finished its initialization. Remove it so there is no confusion about how registration ordering works. Link: https://lore.kernel.org/lkml/20200506152114.50375-2-keescook@chromium.org/ Signed-off-by: Kees Cook --- fs/pstore/platform.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index 408277ee3cdb..44f8b9742263 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -555,8 +555,6 @@ out: */ int pstore_register(struct pstore_info *psi) { - struct module *owner = psi->owner; - if (backend && strcmp(backend, psi->name)) { pr_warn("ignoring unexpected backend '%s'\n", psi->name); return -EPERM; @@ -591,10 +589,6 @@ int pstore_register(struct pstore_info *psi) sema_init(&psinfo->buf_lock, 1); spin_unlock(&pstore_lock); - if (owner && !try_module_get(owner)) { - psinfo = NULL; - return -EINVAL; - } if (psi->flags & PSTORE_FLAGS_DMESG) allocate_buf_for_compression(); @@ -626,8 +620,6 @@ int pstore_register(struct pstore_info *psi) pr_info("Registered %s as persistent store backend\n", psi->name); - module_put(owner); - return 0; } EXPORT_SYMBOL_GPL(pstore_register);