Message ID | 20210528032637.9231-1-thunder.leizhen@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/1] EDAC, mpc85xx: Fix error return code in two functions | expand |
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@huawei.com> > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > --- > 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.
On 2021/5/31 16:40, Borislav Petkov wrote: > 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@huawei.com> >> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> >> --- >> 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. So how about change to -ENODEV? > > hint 2: while doing hint 1, you might find some more broken cases which > you could fix too. OK, I will find and fix all of them. Thanks for your hint. > > Thx. >
On Mon, May 31, 2021 at 05:15:54PM +0800, Leizhen (ThunderTown) wrote:
> So how about change to -ENODEV?
Yah, better.
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; }
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@huawei.com> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> --- drivers/edac/mpc85xx_edac.c | 2 ++ 1 file changed, 2 insertions(+)