On 10/03/2026 12:48, Philipp Hahn wrote: > Find and convert uses of IS_ERR() plus NULL check to IS_ERR_OR_NULL(). > > There are several cases where `!ptr && WARN_ON[_ONCE](IS_ERR(ptr))` is > used: > - arch/x86/kernel/callthunks.c:215 WARN_ON_ONCE > - drivers/clk/clk.c:4561 WARN_ON_ONCE > - drivers/interconnect/core.c:793 WARN_ON > - drivers/reset/core.c:718 WARN_ON > The change is not 100% semantical equivalent as the warning will now > also happen when the pointer is NULL. > > To: Julia Lawall <[email protected]> > To: Nicolas Palix <[email protected]> > Cc: [email protected] > Cc: [email protected] > > --- > drivers/clocksource/mips-gic-timer.c:283 looks suspicious: ret != clk, > but Daniel Lezcano verified it as cottect. > > There are some cases where the checks are part of a larger expression: > - mm/kmemleak.c:1095 > - mm/kmemleak.c:1155 > - mm/kmemleak.c:1173 > - mm/kmemleak.c:1290 > - mm/kmemleak.c:1328 > - mm/kmemleak.c:1241 > - mm/kmemleak.c:1310 > - mm/kmemleak.c:1258 > - net/netlink/af_netlink.c:2670 > Thanks to Julia Lawall for the help to also handle them. > > Signed-off-by: Philipp Hahn <[email protected]> > --- > scripts/coccinelle/api/is_err_or_null.cocci | 125 > ++++++++++++++++++++++++++++ > 1 file changed, 125 insertions(+) >
Neither this, nor try from 2011, nor any future try should be accepted, because it creates impression IS_ERR_OR_NULL is somehow okay. No, it is not okay, it is a discouraged pattern leading to less readable and maintainable code. We should not have therefore any tools suggesting usage of IS_ERR_OR_NULL, because people will be converting poor code into that, instead of fixing that poor code. Best regards, Krzysztof
