Thread (8 messages) read the whole thread 8 messages, 7 authors, 2020-01-08

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

From: Masahiro Yamada <masahiroy@kernel.org>
Date: 2020-01-07 06:29:28
Also in: alsa-devel, linux-acpi, linux-arm-kernel, linux-clk, linux-crypto, linux-devicetree, linux-gpio, linux-i2c, lkml

On Tue, Jan 7, 2020 at 2:15 PM Eric Biggers [off-list ref] wrote:
On Mon, Jan 06, 2020 at 01:58:33PM +0900, Masahiro Yamada wrote:
quoted
'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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help