public inbox for linux-mm@kvack.org
 help / color / mirror / Atom feed
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: [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


  reply	other threads:[~2026-03-12 12:57 UTC|newest]

Thread overview: 120+ 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-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-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-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 [this message]
2026-03-12 15:32     ` James Bottomley
2026-03-12 16:54       ` Jason Gunthorpe
2026-03-11  0:09 ` Russell King (Oracle)

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