Re: [PATCH v2] checkpatch: validate MODULE_LICENSE content

Joe Perches
2015-04-07T19:48:11Z

On Tue, 2015-04-07 at 12:37 -0700, Bjorn Andersson wrote:
> 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>
> ---
>
> Thanks for the review Joe!

No charge.

> "Proprietary" is in the list because this is the full list of "valid" values
> mentioned in include/linux/module.h. So it's the list of licenses valid for
> submission, but rather the list of valid values.

So the "Proprietary" entry is only for non kernel-tree uses.
I wonder if the kernel checkpatch script should account for that.

I've no strong opinion though if Andrew wants to accept this as-is.

cheers, Joe

> Changes since v1:
> - Fixed nits pointed out by Joe
> - Added comment to clarify the purpose, as well as origin of the values
>
> scripts/checkpatch.pl | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 9a8b2bd..ca10d79 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -5431,6 +5431,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