aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@amacapital.net>2015-04-16 15:44:44 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-17 09:03:58 -0400
commit91c9afaf97ee554d2cd3042a5ad01ad21c99e8c4 (patch)
treed521bb93c9d1593cca054cc3a3f9038bc59d6044 /scripts
parentc17893c7407fbe988f5901596c3e5e75c0dc0f67 (diff)
checkpatch.pl: new instances of ENOSYS are errors
ENOSYS means that a nonexistent system call was called. We have a bad habit of using it for things like invalid operations on otherwise valid syscalls. We should avoid this in new code. Pervasive incorrect usage of ENOSYS came up at the kernel summit ABI review discussion. Let's see if checkpatch can help. I'll submit a separate patch for include/uapi/asm-generic/errno.h. Signed-off-by: Andy Lutomirski <luto@amacapital.net> Cc: Pavel Machek <pavel@ucw.cz> Cc: Michael Kerrisk <mtk.manpages@gmail.com> Cc: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/checkpatch.pl8
1 files changed, 8 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 28516587baba..561f41ef531f 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3396,6 +3396,14 @@ sub process {
3396 "Prefer dev_$level(... to dev_printk(KERN_$orig, ...\n" . $herecurr); 3396 "Prefer dev_$level(... to dev_printk(KERN_$orig, ...\n" . $herecurr);
3397 } 3397 }
3398 3398
3399# ENOSYS means "bad syscall nr" and nothing else. This will have a small
3400# number of false positives, but assembly files are not checked, so at
3401# least the arch entry code will not trigger this warning.
3402 if ($line =~ /\bENOSYS\b/) {
3403 WARN("ENOSYS",
3404 "ENOSYS means 'invalid syscall nr' and nothing else\n" . $herecurr);
3405 }
3406
3399# function brace can't be on same line, except for #defines of do while, 3407# function brace can't be on same line, except for #defines of do while,
3400# or if closed on same line 3408# or if closed on same line
3401 if (($line=~/$Type\s*$Ident\(.*\).*\s*{/) and 3409 if (($line=~/$Type\s*$Ident\(.*\).*\s*{/) and