[PATCH v2] checkpatch: report warning with files ending with blank lines

From: Christian Marangi

Date: Wed Oct 07 2026 - 09:12:27 EST


On applying patch, git, depending on the default configuration, might
complain for any file having blank lines at end of file.

These blank lines can go unnotice by the patch submitter as they are not
reported by checkpatch.pl with the maintainer only noticing the error when
the patch is applied. This result in the submitter getting confused asking
further info to the maintainer making the review process longer.

To address this, add a simple logic to catch this error and report as
warning. Example:

WARNING: blank line at end of file
102: FILE: Documentation/devicetree/bindings/phy/airoha,an7581-usb-phy.yaml:62:
+ };
+

Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
---
Changes v2:
- Move EOF check as last check

scripts/checkpatch.pl | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 8a7787d228a6..d12e0e62def5 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3887,6 +3887,25 @@ sub process {
"It's generally not useful to have the filename in the file\n" . $herecurr);
}

+# check for blank line at end of file
+ if ($rawline =~ /^\+[ \t]*$/ &&
+ (!defined $rawlines[$linenr] ||
+ $rawlines[$linenr] =~ /^diff --git / ||
+ $rawlines[$linenr] =~ /^-- $/)) {
+ my $context = $rawline;
+
+ for (my $i = $linenr - 2; $i >= 0; $i--) {
+ last if ($rawlines[$i] !~ /^\+/);
+
+ $context = $rawlines[$i] . "\n" . $context;
+
+ last if ($rawlines[$i] !~ /^\+[ \t]*$/);
+ }
+
+ WARN("BLANK_AT_EOF",
+ "blank line at end of file\n" . $here . "\n" . $context . "\n");
+ }
+
# check we are in a valid source file if not then ignore this hunk
next if ($realfile !~ /\.(h|c|rs|s|S|sh|dtsi|dts)$/);

--
2.55.0