Re: [PATCH 00/36] treewide: remove conditional returns with no effect
From: Jani Nikula <jani.nikula@linux.intel.com>
Date: 2026-07-27 11:37:27
Also in:
dm-devel, dmaengine, intel-wired-lan, linux-cifs, linux-clk, linux-crypto, linux-edac, linux-gpio, linux-iio, linux-iommu, linux-media, linux-mm, linux-pm, linux-rdma, linux-rtc, linux-s390, linux-scsi, linux-sound, linux-usb, linux-wireless, lkml, lvs-devel, netdev, netfilter-devel, nouveau, platform-driver-x86
On Mon, 27 Jul 2026, Sang-Heon Jeon [off-list ref] wrote:
Hello,
On Mon, Jul 27, 2026 at 5:30 PM Jani Nikula [off-list ref] wrote:
quoted
On Fri, 24 Jul 2026, Jakub Kicinski [off-list ref] wrote:
quoted
On Fri, 24 Jul 2026 03:45:02 +0900 Sang-Heon Jeon wrote:
quoted
Patch 1 adds a Coccinelle script that matches the pattern, including
negation and constant-comparison variants. Where a local variable is
assigned right before the check, the assignment and the two returns
turn into a single return of the assigned expression.
Huh, I thought we already had such script. Various script children have
been sending such "cleanups" in the past.
We did, and it was removed, I believe in 1a617a8475e8 ("coccinelle:
misc: remove "complex return code" warnings"), because people just don't
want this constant churn.
It's perfectly fine to have the error case and happy day scenario
separated.
Thanks for sharing the history.
I checked the mailing list. The removed script looks similar to the
new one, but it is different. The removed script reported a
conditional return followed by an explicit return 0, where the error
case and happy day scenario are separated as you mentioned, and Johan
also complained about this 10 years ago.
But the new script only reports when both branches return the same
variable, not the explicit 0. So, I think the new script is close to
the restricted version that Julia mentioned 10 years ago, and it
should be acceptable.
ret === 0 after an if (ret) return.
BR,
Jani.
quoted
BR,
Jani.
--
Jani Nikula, Intel
Best Regards,
Sang-Heon Jeon
--
Jani Nikula, Intel