public inbox for linux-modules@vger.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Philipp Hahn <phahn-oss@avm.de>,
	amd-gfx@lists.freedesktop.org, apparmor@lists.ubuntu.com,
	bpf@vger.kernel.org, ceph-devel@vger.kernel.org, cocci@inria.fr,
	dm-devel@lists.linux.dev, dri-devel@lists.freedesktop.org,
	gfs2@lists.linux.dev, intel-gfx@lists.freedesktop.org,
	intel-wired-lan@lists.osuosl.org, iommu@lists.linux.dev,
	kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-block@vger.kernel.org, linux-bluetooth@vger.kernel.org,
	linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-gpio@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-leds@vger.kernel.org, linux-media@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-mm@kvack.org,
	linux-modules@vger.kernel.org, linux-mtd@lists.infradead.org,
	linux-nfs@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-phy@lists.infradead.org, linux-pm@vger.kernel.org,
	linux-rockchip@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org, linux-sctp@vger.kernel.org,
	linux-security-module@vger.kernel.org, linux-sh@vger.kernel.org,
	linux-sound@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-trace-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-wireless@vger.kernel.org, netdev@vger.kernel.org,
	ntfs3@lists.linux.dev, samba-technical@lists.samba.org,
	sched-ext@lists.linux.dev, target-devel@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net, v9fs@lists.linux.dev
Cc: Julia Lawall <Julia.Lawall@inria.fr>,
	Nicolas Palix <nicolas.palix@imag.fr>
Subject: Re: [PATCH 01/61] Coccinelle: Prefer IS_ERR_OR_NULL over manual NULL check
Date: Thu, 16 Apr 2026 14:30:37 +0200	[thread overview]
Message-ID: <1fba96bd-124d-431d-8de8-78688c248600@kernel.org> (raw)
In-Reply-To: <20260310-b4-is_err_or_null-v1-1-bd63b656022d@avm.de>

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 <Julia.Lawall@inria.fr>
> To: Nicolas Palix <nicolas.palix@imag.fr>
> Cc: cocci@inria.fr
> Cc: linux-kernel@vger.kernel.org
> 
> ---
> 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 <phahn-oss@avm.de>
> ---
>  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

  parent reply	other threads:[~2026-04-16 12:30 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-10 11:48 [PATCH 00/61] treewide: Use IS_ERR_OR_NULL over manual NULL check - refactor Philipp Hahn
2026-03-10 11:48 ` [PATCH 01/61] Coccinelle: Prefer IS_ERR_OR_NULL over manual NULL check Philipp Hahn
2026-03-10 15:41   ` Markus Elfring
2026-03-11 15:12   ` Markus Elfring
2026-04-16 12:30   ` Krzysztof Kozlowski [this message]
2026-03-10 11:48 ` [PATCH 02/61] btrfs: " Philipp Hahn
2026-03-13 19:22   ` David Sterba
2026-03-10 11:48 ` [PATCH 03/61] ceph: " Philipp Hahn
2026-03-10 18:13   ` Viacheslav Dubeyko
2026-03-11  8:16   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 04/61] ext4: " Philipp Hahn
2026-04-10 15:18   ` Theodore Ts'o
2026-03-10 11:48 ` [PATCH 05/61] smb: Prefer IS_ERR_OR_NULL over manual NULl check Philipp Hahn
2026-03-10 11:48 ` [PATCH 06/61] 9p: Prefer IS_ERR_OR_NULL over manual NULL check Philipp Hahn
2026-03-10 13:45   ` Christian Schoenebeck
2026-03-11  8:17   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 07/61] erofs: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 08/61] fuse: " Philipp Hahn
2026-03-11  8:18   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 09/61] ntfs3: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 10/61] gfs2: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 11/61] pstore: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 12/61] quota: " Philipp Hahn
2026-03-11  8:19   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-19 14:13   ` Jan Kara
2026-03-10 11:48 ` [PATCH 13/61] squashfs: " Philipp Hahn
2026-03-11  8:19   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 14/61] seq_file: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 15/61] trace: " Philipp Hahn
2026-03-10 14:07   ` Steven Rostedt
2026-03-11  5:13     ` Masami Hiramatsu
2026-03-11 14:03       ` Steven Rostedt
2026-03-11 14:06         ` Geert Uytterhoeven
2026-03-10 11:48 ` [PATCH 16/61] sched: " Philipp Hahn
2026-03-11  9:16   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 17/61] module: " Philipp Hahn
2026-03-10 14:45   ` Aaron Tomlin
2026-03-11  9:18   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 18/61] sound: " Philipp Hahn
2026-03-10 12:28   ` Mark Brown
2026-03-10 11:48 ` [PATCH 19/61] kvm: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 20/61] apparmor: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 21/61] lib/test: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 22/61] md: " Philipp Hahn
2026-03-11  9:19   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 23/61] net/ipv6: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 24/61] net/9p: " Philipp Hahn
2026-03-10 13:47   ` Christian Schoenebeck
2026-03-11  9:19   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 25/61] net/bluetooth: " Philipp Hahn
2026-03-10 13:55   ` Bastien Nocera
2026-03-11  9:21   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 26/61] net/core: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 27/61] net/netlink: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 28/61] net/sched: " Philipp Hahn
2026-03-11  9:22   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 29/61] net/sctp: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 30/61] net/sunrpc: " Philipp Hahn
2026-03-10 12:23   ` Jeff Layton
2026-03-10 13:23   ` Chuck Lever
2026-03-11  9:22   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:48 ` [PATCH 31/61] net/tipc: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 32/61] net/wireless: " Philipp Hahn
2026-03-10 11:48 ` [PATCH 33/61] mm: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 34/61] arch/arm: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 35/61] arch/mips: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 36/61] arch/sh: " Philipp Hahn
2026-03-11 13:15   ` Geert Uytterhoeven
2026-03-10 11:49 ` [PATCH 37/61] drm: " Philipp Hahn
2026-03-10 12:08   ` Christian König
2026-03-10 11:49 ` [PATCH 38/61] net: " Philipp Hahn
2026-03-10 15:07   ` [EXTERNAL] " Elad Nachman
2026-03-11  0:16   ` Russell King (Oracle)
2026-03-11  9:24   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-12 16:11   ` Przemek Kitszel
2026-03-10 11:49 ` [PATCH 39/61] irqchip: " Philipp Hahn
2026-03-11  9:24   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:49 ` [PATCH 40/61] phy: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 41/61] pinctrl: " Philipp Hahn
2026-03-11  9:32   ` Linus Walleij
2026-03-10 11:49 ` [PATCH 42/61] pmdomain: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 43/61] s390: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 44/61] target: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 45/61] thermal: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 46/61] vfio: " Philipp Hahn
2026-03-10 12:53   ` Pranjal Shrivastava
2026-03-11  9:25   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-16 22:10   ` Alex Williamson
2026-03-10 11:49 ` [PATCH 47/61] nfc: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 48/61] mtd: " Philipp Hahn
2026-03-12 19:33   ` Richard Weinberger
2026-03-10 11:49 ` [PATCH 49/61] media: " Philipp Hahn
2026-03-11  9:25   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-11 23:03   ` Kieran Bingham
2026-03-10 11:49 ` [PATCH 50/61] iommu: " Philipp Hahn
2026-03-11  9:26   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-16 13:30   ` Robin Murphy
2026-03-10 11:49 ` [PATCH 51/61] leds: " Philipp Hahn
2026-03-10 13:33   ` (subset) " Lee Jones
2026-03-10 11:49 ` [PATCH 52/61] gpib: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 53/61] hyperv: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 54/61] aoe: " Philipp Hahn
2026-03-11  9:26   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-10 11:49 ` [PATCH 55/61] interconnect: " Philipp Hahn
2026-04-16 12:24   ` Krzysztof Kozlowski
2026-03-10 11:49 ` [PATCH 56/61] clk: " Philipp Hahn
2026-03-10 13:21   ` Brian Masney
2026-03-11  2:07   ` Chen-Yu Tsai
2026-03-10 11:49 ` [PATCH 57/61] reset: " Philipp Hahn
2026-03-10 12:43   ` Philipp Zabel
2026-03-11  4:59   ` Masami Hiramatsu
2026-03-10 11:49 ` [PATCH 58/61] arch/x86: " Philipp Hahn
2026-03-10 11:49 ` [PATCH 59/61] debugobjects: Drop likely() around !IS_ERR_OR_NULL() Philipp Hahn
2026-03-10 11:49 ` [PATCH 60/61] Input alps: Drop unlikely() around IS_ERR_OR_NULL() Philipp Hahn
2026-03-10 11:49 ` [PATCH 61/61] file: " Philipp Hahn
2026-03-10 12:23   ` Jeff Layton
2026-03-10 14:14 ` [PATCH 00/61] treewide: Use IS_ERR_OR_NULL over manual NULL check - refactor Steven Rostedt
2026-03-10 14:23 ` Theodore Tso
2026-03-10 18:40 ` Kuan-Wei Chiu
2026-03-12 12:57   ` Jason Gunthorpe
2026-03-12 15:32     ` James Bottomley
2026-03-12 16:54       ` Jason Gunthorpe
2026-03-11  0:09 ` Russell King (Oracle)
2026-04-09 18:16 ` Al Viro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1fba96bd-124d-431d-8de8-78688c248600@kernel.org \
    --to=krzk@kernel.org \
    --cc=Julia.Lawall@inria.fr \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=apparmor@lists.ubuntu.com \
    --cc=bpf@vger.kernel.org \
    --cc=ceph-devel@vger.kernel.org \
    --cc=cocci@inria.fr \
    --cc=dm-devel@lists.linux.dev \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gfs2@lists.linux.dev \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=iommu@lists.linux.dev \
    --cc=kvm@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-erofs@lists.ozlabs.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-sctp@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.palix@imag.fr \
    --cc=ntfs3@lists.linux.dev \
    --cc=phahn-oss@avm.de \
    --cc=samba-technical@lists.samba.org \
    --cc=sched-ext@lists.linux.dev \
    --cc=target-devel@vger.kernel.org \
    --cc=tipc-discussion@lists.sourceforge.net \
    --cc=v9fs@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox