summaryrefslogtreecommitdiffstats
path: root/scripts/checkpatch.pl
diff options
context:
space:
mode:
authorBjorn Andersson <bjorn.andersson@sonymobile.com>2015-06-25 15:03:24 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2015-06-25 17:00:42 -0700
commit5a6d20ce19b770c9946281783614294b3f570ab8 (patch)
tree5ccc301d22f41d8567e34a239f48c24955a2887d /scripts/checkpatch.pl
parent10895d2c82cce9650f7d34c81c1bd29958e15293 (diff)
downloadlinux-5a6d20ce19b770c9946281783614294b3f570ab8.tar.gz
linux-5a6d20ce19b770c9946281783614294b3f570ab8.tar.bz2
linux-5a6d20ce19b770c9946281783614294b3f570ab8.zip
checkpatch: validate MODULE_LICENSE content
There is a well defined list of expected values for MODULE_LICENSE so warn the user upon usage of unknown values. Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.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/checkpatch.pl')
-rwxr-xr-xscripts/checkpatch.pl18
1 files changed, 18 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index dfeb553de798..4cf4473ebf17 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5626,6 +5626,24 @@ sub process {
}
}
}
+
+# validate content of MODULE_LICENSE against list from include/linux/module.h
+ if ($line =~ /\bMODULE_LICENSE\s*\(\s*($String)\s*\)/) {
+ my $extracted_string = get_quoted_string($line, $rawline);
+ my $valid_licenses = qr{
+ GPL|
+ GPL\ v2|
+ GPL\ and\ additional\ rights|
+ Dual\ BSD/GPL|
+ Dual\ MIT/GPL|
+ Dual\ MPL/GPL|
+ Proprietary
+ }x;
+ if ($extracted_string !~ /^"(?:$valid_licenses)"$/x) {
+ WARN("MODULE_LICENSE",
+ "unknown module license " . $extracted_string . "\n" . $herecurr);
+ }
+ }
}
# If we have no input at all, then there is nothing to report on