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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Sat, Jan 29, 2022 at 01:27, Wei Yongjun <weiyongjun1@xxxxxxxxxx> wrote:
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 <hulkci@xxxxxxxxxx>
Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx>
Reviewed-by: Tobias Waldekranz <tobias@xxxxxxxxxxxxxx>

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.


Regards,

Wei Yongjun





[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux