Re: [PATCH] staging: unisys: Properly test debugfs_create_dir() return values

From: Fabio M. De Francesco
Date: Thu Mar 24 2022 - 05:20:26 EST


On marted? 22 marzo 2022 09:47:29 CET Greg Kroah-Hartman wrote:
> On Tue, Mar 22, 2022 at 09:38:58AM +0100, Fabio M. De Francesco wrote:
> > debugfs_create_dir() returns a pointers to a dentry objects. On failures
> > it returns errors. Currently the values returned to visornic_probe()
> > seem to be tested for being equal to NULL in case of failures.
> >
> > Properly test with "if (IS_ERR())" and then assign the correct error
> > value to the "err" variable.
> >
> > Signed-off-by: Fabio M. De Francesco <fmdefrancesco@xxxxxxxxx>
> > ---
> > drivers/staging/unisys/visornic/visornic_main.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/staging/unisys/visornic/visornic_main.c b/drivers/staging/unisys/visornic/visornic_main.c
> > index 643432458105..58d03f3d3173 100644
> > --- a/drivers/staging/unisys/visornic/visornic_main.c
> > +++ b/drivers/staging/unisys/visornic/visornic_main.c
> > @@ -1922,11 +1922,11 @@ static int visornic_probe(struct visor_device *dev)
> > /* create debug/sysfs directories */
> > devdata->eth_debugfs_dir = debugfs_create_dir(netdev->name,
> > visornic_debugfs_dir);
> > - if (!devdata->eth_debugfs_dir) {
> > + if (IS_ERR(devdata->eth_debugfs_dir)) {
>
> We really shouldn't be checking this value at all. There's no reason to
> check the return value of a debugfs_* call. Can you fix up the code to
> do that instead?
>
> thanks,
>
> greg k-h
>

Yes I'll do the work that you requested by this weekend, notwithstanding
what I replied to Dan.

While I reiterate all my considerations, it seems that, if not the people
from Unisys, someone else still cares about this driver :)

Thanks,

Fabio