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

Eric Biggers
2020-01-07T05:15:37Z

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)

? 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