summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2013-02-21 16:44:18 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 17:22:26 -0800
commit5ce59ae0bcc0f0ad249d21560c9bb5f6061e62a8 (patch)
tree1fa6ddc462a2425d6d8d50136330c2db0b6becee /scripts
parente8eb3997ce2f5887472a674b32f295b0196ecf46 (diff)
downloadlinux-5ce59ae0bcc0f0ad249d21560c9bb5f6061e62a8.tar.gz
checkpatch: Add check for kcalloc argument order
kcalloc is sometimes misused with the first and second arguments switched.

Same issue with kmalloc_array too.

Bleat if sizeof is the first argument

Signed-off-by: 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.pl6
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2c50eb4c4e66..7b40a3f729a7 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3476,6 +3476,12 @@ sub process {
 			     "unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html\n" . $herecurr);
 		}
 
+# check for alloc argument mismatch
+		if ($line =~ /\b(kcalloc|kmalloc_array)\s*\(\s*sizeof\b/) {
+			WARN("ALLOC_ARRAY_ARGS",
+			     "$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr);
+		}
+
 # check for multiple semicolons
 		if ($line =~ /;\s*;\s*$/) {
 			WARN("ONE_SEMICOLON",