Re: [PATCH v2 1/4] driver core: Ignore 0 in dev_err_probe()

From: Johan Hovold
Date: Mon Sep 02 2024 - 11:59:39 EST


On Sat, Aug 31, 2024 at 11:25:54AM +0300, Dan Carpenter wrote:
> On Thu, Aug 22, 2024 at 04:05:38PM +0300, Andy Shevchenko wrote:
> > In the similar way, ignore 0 error code (AKA "success") in
> > dev_err_probe(). This helps to simplify a code such as
> >
> > if (ret < 0)
> > return dev_err_probe(int3472->dev, ret, err_msg);
> >
> > return ret;
> >
> > to
> >
> > return dev_err_probe(int3472->dev, ret, err_msg);
> >
> > Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
>
> This is a terrible idea because currently Smatch is able to detect about one
> bug per month where someone unintentionally passes the wrong error variable
> to dev_err_probe().
>
> I really hate this.
>
> NAKed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Regardless of any issues this may cause for tooling, I fully agree that
this is a terrible idea that will only result in unreadable code.

return dev_err_probe(dev, ret, "registration failed\n");

Except it did not fail...

NAK

Johan