scripts/checkpatch: Avoid false positive on empty blocks
SUSPECT_CODE_INDENT checks the first line after a conditional statement. When the block is empty, the first line after the conditional is the closing brace at the same indentation level, so checkpatch reports a bogus indentation error. Ignore same-indented braces and else statements, matching with: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f6950a735f29e782bc219ece22bb91d6e1ab7bbc Signed-off-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> Message-ID: <20260424-force_rcu-v4-6-feccfaca0568@rsg.ci.i.u-tokyo.ac.jp> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Akihiko Odaki committed
Apr 24, 2026 at 18:27 UTC
e4bf9065c874b34862f4bafea0e7197fb63310c6
1 file changed
+2
-1
scripts/checkpatch.pl
+2
-1
@@ -2283,7 +2283,8 @@ sub process {
2283
#print "line<$line> prevline<$prevline> indent<$indent> sindent<$sindent> check<$check> continuation<$continuation> s<$s> cond_lines<$cond_lines> stat_real<$stat_real> stat<$stat>\n";
2284
2285
if ($check && (($sindent % 4) != 0 ||
2286
- ($sindent <= $indent && $s ne ''))) {
2286
+ ($sindent <= $indent &&
2287
+ $s !~ /^\s*(?:\}|\{|else\b)/))) {
2288
ERROR("suspect code indent for conditional statements ($indent, $sindent)\n" . $herecurr . "$stat_real\n");
2289
}
2290
}