pstore: Improve error reporting in case of backend overlap
authorGuilherme G. Piccoli <gpiccoli@igalia.com>
Thu, 6 Oct 2022 22:42:05 +0000 (19:42 -0300)
committerKees Cook <keescook@chromium.org>
Mon, 17 Oct 2022 20:14:10 +0000 (13:14 -0700)
The pstore infrastructure supports one single backend at a time;
trying to load a another backend causes an error and displays a
message, introduced on commit 0d7cd09a3dbb ("pstore: Improve
register_pstore() error reporting").

Happens that this message is not really clear about the situation,
also the current error returned (-EPERM) isn't accurate, whereas
-EBUSY makes more sense. We have another place in the code that
relies in the -EBUSY return for a similar check.

So, make it consistent here by returning -EBUSY and using a
similar message in both scenarios.

Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20221006224212.569555-2-gpiccoli@igalia.com
fs/pstore/platform.c

index 0c034ea..c32957e 100644 (file)
@@ -562,8 +562,9 @@ out:
 int pstore_register(struct pstore_info *psi)
 {
        if (backend && strcmp(backend, psi->name)) {
-               pr_warn("ignoring unexpected backend '%s'\n", psi->name);
-               return -EPERM;
+               pr_warn("backend '%s' already in use: ignoring '%s'\n",
+                       backend, psi->name);
+               return -EBUSY;
        }
 
        /* Sanity check flags. */