Re: [PATCH 1/8] pstore: Improve error reporting in case of backend overlap

From: Kees Cook
Date: Thu Oct 06 2022 - 19:27:39 EST


On Thu, Oct 06, 2022 at 07:42:05PM -0300, Guilherme G. Piccoli wrote:
> 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@xxxxxxxxxx>
> ---
> fs/pstore/platform.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
> index 0c034ea39954..c32957e4b256 100644
> --- a/fs/pstore/platform.c
> +++ b/fs/pstore/platform.c
> @@ -562,8 +562,9 @@ static int pstore_write_user_compat(struct pstore_record *record,
> 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;

Thank you! Yes, this has bothered me for a while. :)

--
Kees Cook