Thread (5 messages) 5 messages, 4 authors, 2022-02-01

Re: [PATCH net-next] net/fsl: xgmac_mdio: fix return value check in xgmac_mdio_probe()

From: Dan Carpenter <hidden>
Date: 2022-02-01 11:08:12
Also in: kernel-janitors

On Sun, Jan 30, 2022 at 08:58:55AM +0800, weiyongjun (A) wrote:
quoted
On Sat, Jan 29, 2022 at 01:27, Wei Yongjun [off-list ref] wrote:
quoted
In case of error, the function devm_ioremap() returns NULL pointer
not ERR_PTR(). The IS_ERR() test in the return value check should
be replaced with NULL test.

Fixes: 1d14eb15dc2c ("net/fsl: xgmac_mdio: Use managed device resources")
Reported-by: Hulk Robot <redacted>
Signed-off-by: Wei Yongjun <redacted>
Reviewed-by: Tobias Waldekranz <tobias@waldekranz.com>

Sorry about that. I started out by using devm_ioremap_resource, which
uses the in-band error signaling, and forgot to match the guard when I
changed it.

I see that this was reported by your CI, do you mind me asking what it
is running in the back-end? At least my version of sparse does not seem
to catch this.

It was reported by coccinelle with follow script:


@@
expression ret, E;
@@
ret = \(devm_ioport_map\|
devm_ioremap\|
devm_ioremap_wc\|
devm_irq_alloc_generic_chip\|
devm_kasprintf\|
devm_kcalloc\|
devm_kmalloc\|
devm_kmalloc_array\|
devm_kmemdup\|
devm_kstrdup\|
devm_kzalloc\|
\)(...);
... when != ret = E
(
- IS_ERR(ret)
+ !ret
|
- !IS_ERR(ret)
+ ret
|
- PTR_ERR(ret)
+ -ENOMEM
)



It seems smatch also can report this.
Yeah.  I had this patch in my postponed messages but you beat me to
sending it.

The Smatch check for this requires you to have the cross function
database built.  I should update it to remove that requirement for
at least the common functions that you have listed.

regards,
dan carpenter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help