Re: [PATCH 1/1] EDAC, mpc85xx: Fix error return code in two functions

From: Borislav Petkov
Date: Mon May 31 2021 - 04:41:36 EST


On Fri, May 28, 2021 at 11:26:37AM +0800, Zhen Lei wrote:
> Fix to return -EFAULT from the error handling case instead of 0, as done
> elsewhere in its function.
>
> Fixes: a9a753d53204 ("drivers-edac: add freescale mpc85xx driver")
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx>
> ---
> drivers/edac/mpc85xx_edac.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c
> index 67f7bc3fe5b3..b2eaa62c9412 100644
> --- a/drivers/edac/mpc85xx_edac.c
> +++ b/drivers/edac/mpc85xx_edac.c
> @@ -248,6 +248,7 @@ static int mpc85xx_pci_err_probe(struct platform_device *op)
>
> if (edac_pci_add_device(pci, pdata->edac_idx) > 0) {
> edac_dbg(3, "failed edac_pci_add_device()\n");
> + res = -EFAULT;

> goto err;
> }
>
> @@ -552,6 +553,7 @@ static int mpc85xx_l2_err_probe(struct platform_device *op)
>
> if (edac_device_add_device(edac_dev) > 0) {
> edac_dbg(3, "failed edac_device_add_device()\n");
> + res = -EFAULT;
> goto err;
> }
>
> --

EFAULT means

#define EFAULT 14 /* Bad address */

Does it make sense to you when the probe function returns a "bad
address" upon failure to add a device?

hint 1: you might wanna audit how the other drivers are calling this for
better ideas.

hint 2: while doing hint 1, you might find some more broken cases which
you could fix too.

Thx.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette