Re: [PATCH] treewide: remove redundent IS_ERR() before error code check

Masahiro Yamada
2020-01-07T06:29:28Z

On Tue, Jan 7, 2020 at 2:15 PM Eric Biggers <ebiggers@kernel.org> wrote:
>
> On Mon, Jan 06, 2020 at 01:58:33PM +0900, Masahiro Yamada wrote:
> > 'PTR_ERR(p) == -E*' is a stronger condition than IS_ERR(p).
> > Hence, IS_ERR(p) is unneeded.
> >
> > The semantic patch that generates this commit is as follows:
> >
> > // <smpl>
> > @@
> > expression ptr;
> > constant error_code;
> > @@
> > -IS_ERR(ptr) && (PTR_ERR(ptr) == - error_code)
> > +PTR_ERR(ptr) == - error_code
> > // </smpl>
> >
> > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
>
> Any reason for not doing instead:
>
> ptr == ERR_PTR(-error_code)
>
> ?

Because there is no reason to change

PTR_ERR(ptr) == -error_code
to
ptr == ERR_PTR(-error_code)

if (PTR_ERR(ptr) == -error_code)
style seems to be used more often.

But, I think it is just a matter of preference after all.
Both work equally fine.

> To me it seems weird to use PTR_ERR() on non-error pointers. I even had to
> double check that it returns a 'long' and not an 'int'. (If it returned an
> 'int', it wouldn't work...)
>
> - Eric

--
Best Regards
Masahiro Yamada