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