From: Jason Gunthorpe <jgg@ziepe.ca>
To: Kuan-Wei Chiu <visitorckw@gmail.com>
Cc: 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
Subject: Re: [cocci] [PATCH 00/61] treewide: Use IS_ERR_OR_NULL over manual NULL check - refactor
Date: Thu, 12 Mar 2026 09:57:30 -0300 [thread overview]
Message-ID: <20260312125730.GI1469476@ziepe.ca> (raw)
In-Reply-To: <abBlpGKO842B3yl9@google.com>
On Wed, Mar 11, 2026 at 02:40:36AM +0800, Kuan-Wei Chiu wrote:
> IMHO, the necessity of IS_ERR_OR_NULL() often highlights a confusing or
> flawed API design. It usually implies that the caller is unsure whether
> a failure results in an error pointer or a NULL pointer.
+1
IS_ERR_OR_NULL() should always be looked on with suspicion. Very
little should be returning some tri-state 'ERR' 'NULL' 'SUCCESS'
pointer. What does the middle condition even mean? IS_ERR_OR_NULL()
implies ERR and NULL are semanticly the same, so fix the things to
always use ERR.
If you want to improve things work to get rid of the NULL checks this
script identifies. Remove ERR or NULL because only one can ever
happen, or fix the source to consistently return ERR.
Jason
next prev parent reply other threads:[~2026-03-12 12:58 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260310-b4-is_err_or_null-v1-0-bd63b656022d@avm.de>
[not found] ` <20260310-b4-is_err_or_null-v1-37-bd63b656022d@avm.de>
2026-03-10 12:08 ` [cocci] [PATCH 37/61] drm: Prefer IS_ERR_OR_NULL over manual NULL check Christian König
[not found] ` <20260310-b4-is_err_or_null-v1-61-bd63b656022d@avm.de>
2026-03-10 12:23 ` [cocci] [PATCH 61/61] file: Drop unlikely() around IS_ERR_OR_NULL() Jeff Layton
[not found] ` <20260310-b4-is_err_or_null-v1-30-bd63b656022d@avm.de>
2026-03-10 12:23 ` [cocci] [PATCH 30/61] net/sunrpc: Prefer IS_ERR_OR_NULL over manual NULL check Jeff Layton
2026-03-10 13:23 ` Chuck Lever
2026-03-11 9:22 ` [cocci] [Intel-wired-lan] " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-18-bd63b656022d@avm.de>
2026-03-10 12:28 ` [cocci] [PATCH 18/61] sound: " Mark Brown
[not found] ` <20260310-b4-is_err_or_null-v1-57-bd63b656022d@avm.de>
2026-03-10 12:43 ` [cocci] [PATCH 57/61] reset: " Philipp Zabel
2026-03-11 4:59 ` Masami Hiramatsu
[not found] ` <20260310-b4-is_err_or_null-v1-6-bd63b656022d@avm.de>
2026-03-10 13:45 ` [cocci] [PATCH 06/61] 9p: " Christian Schoenebeck
2026-03-11 8:17 ` [cocci] [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-11 8:29 ` [cocci] " Dominique Martinet
[not found] ` <20260310-b4-is_err_or_null-v1-24-bd63b656022d@avm.de>
2026-03-10 13:47 ` [cocci] [PATCH 24/61] net/9p: " Christian Schoenebeck
2026-03-11 9:19 ` [cocci] [Intel-wired-lan] " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-25-bd63b656022d@avm.de>
2026-03-10 13:55 ` [cocci] [PATCH 25/61] net/bluetooth: " Bastien Nocera
2026-03-11 9:21 ` [cocci] [Intel-wired-lan] " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-15-bd63b656022d@avm.de>
2026-03-10 14:07 ` [cocci] [PATCH 15/61] trace: " 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 14:14 ` [cocci] [PATCH 00/61] treewide: Use IS_ERR_OR_NULL over manual NULL check - refactor Steven Rostedt
2026-03-10 14:23 ` Theodore Tso
[not found] ` <20260310-b4-is_err_or_null-v1-38-bd63b656022d@avm.de>
2026-03-10 15:07 ` [cocci] [EXTERNAL] [PATCH 38/61] net: Prefer IS_ERR_OR_NULL over manual NULL check Elad Nachman
2026-03-11 0:16 ` [cocci] " Russell King (Oracle)
2026-03-11 9:24 ` [cocci] [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-12 16:11 ` [cocci] " Przemek Kitszel
2026-03-10 18:40 ` [cocci] [PATCH 00/61] treewide: Use IS_ERR_OR_NULL over manual NULL check - refactor Kuan-Wei Chiu
2026-03-12 12:57 ` Jason Gunthorpe [this message]
2026-03-12 15:32 ` James Bottomley
2026-03-12 16:54 ` Jason Gunthorpe
2026-03-11 0:09 ` Russell King (Oracle)
[not found] ` <20260310-b4-is_err_or_null-v1-56-bd63b656022d@avm.de>
2026-03-10 13:21 ` [cocci] [PATCH 56/61] clk: Prefer IS_ERR_OR_NULL over manual NULL check Brian Masney
2026-03-11 2:07 ` Chen-Yu Tsai
[not found] ` <20260310-b4-is_err_or_null-v1-3-bd63b656022d@avm.de>
2026-03-10 18:13 ` [cocci] [PATCH 03/61] ceph: " Viacheslav Dubeyko
2026-03-11 8:16 ` [cocci] [Intel-wired-lan] " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-8-bd63b656022d@avm.de>
2026-03-11 8:18 ` [cocci] [Intel-wired-lan] [PATCH 08/61] fuse: " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-13-bd63b656022d@avm.de>
2026-03-11 8:19 ` [cocci] [Intel-wired-lan] [PATCH 13/61] squashfs: " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-16-bd63b656022d@avm.de>
2026-03-11 9:16 ` [cocci] [Intel-wired-lan] [PATCH 16/61] sched: " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-17-bd63b656022d@avm.de>
2026-03-10 14:45 ` [cocci] [PATCH 17/61] module: " Aaron Tomlin
2026-03-11 9:18 ` [cocci] [Intel-wired-lan] " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-22-bd63b656022d@avm.de>
2026-03-11 9:19 ` [cocci] [Intel-wired-lan] [PATCH 22/61] md: " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-28-bd63b656022d@avm.de>
2026-03-11 9:22 ` [cocci] [Intel-wired-lan] [PATCH 28/61] net/sched: " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-39-bd63b656022d@avm.de>
2026-03-11 9:24 ` [cocci] [Intel-wired-lan] [PATCH 39/61] irqchip: " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-46-bd63b656022d@avm.de>
2026-03-10 12:53 ` [cocci] [PATCH 46/61] vfio: " Pranjal Shrivastava
2026-03-11 9:25 ` [cocci] [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-16 22:10 ` [cocci] " Alex Williamson
[not found] ` <20260310-b4-is_err_or_null-v1-50-bd63b656022d@avm.de>
2026-03-11 9:26 ` [cocci] [Intel-wired-lan] [PATCH 50/61] iommu: " Loktionov, Aleksandr
2026-03-16 13:30 ` [cocci] " Robin Murphy
[not found] ` <20260310-b4-is_err_or_null-v1-54-bd63b656022d@avm.de>
2026-03-11 9:26 ` [cocci] [Intel-wired-lan] [PATCH 54/61] aoe: " Loktionov, Aleksandr
[not found] ` <20260310-b4-is_err_or_null-v1-41-bd63b656022d@avm.de>
2026-03-11 9:32 ` [cocci] [PATCH 41/61] pinctrl: " Linus Walleij
[not found] ` <20260310-b4-is_err_or_null-v1-36-bd63b656022d@avm.de>
2026-03-11 13:15 ` [cocci] [PATCH 36/61] arch/sh: " Geert Uytterhoeven
[not found] ` <20260310-b4-is_err_or_null-v1-49-bd63b656022d@avm.de>
2026-03-11 9:25 ` [cocci] [Intel-wired-lan] [PATCH 49/61] media: " Loktionov, Aleksandr
2026-03-11 23:03 ` [cocci] " Kieran Bingham
[not found] ` <20260310-b4-is_err_or_null-v1-48-bd63b656022d@avm.de>
2026-03-12 19:33 ` [cocci] [PATCH 48/61] mtd: " Richard Weinberger
[not found] ` <20260310-b4-is_err_or_null-v1-2-bd63b656022d@avm.de>
2026-03-13 19:22 ` [cocci] [PATCH 02/61] btrfs: " David Sterba
[not found] ` <20260310-b4-is_err_or_null-v1-12-bd63b656022d@avm.de>
2026-03-11 8:19 ` [cocci] [Intel-wired-lan] [PATCH 12/61] quota: " Loktionov, Aleksandr
2026-03-19 14:13 ` [cocci] " Jan Kara
2026-04-09 18:16 ` [cocci] [PATCH 00/61] treewide: Use IS_ERR_OR_NULL over manual NULL check - refactor 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=20260312125730.GI1469476@ziepe.ca \
--to=jgg@ziepe.ca \
--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=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 \
--cc=visitorckw@gmail.com \
/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