• Masahiro Yamada's avatar
    modpost: change mod->gpl_compatible to bool type · 5066743e
    Masahiro Yamada authored
    Currently, mod->gpl_compatible is tristate; it is set to -1 by default,
    then to 1 or 0 when MODULE_LICENSE() is found.
    
    Maybe, -1 was chosen to represent the 'unknown' license, but it is not
    useful.
    
    The current code:
    
        if (!mod->gpl_compatible)
                check_for_gpl_usage(exp->export, basename, exp->name);
    
    ... only cares whether gpl_compatible is zero or not.
    
    Change it to a bool type with the initial value 'true', which has no
    functional change.
    
    The default value should be 'true' instead of 'false'.
    
    Since commit 1d6cd392 ("modpost: turn missing MODULE_LICENSE() into
    error"), unknown module license is an error.
    
    The error message, "missing MODULE_LICENSE()" is enough to explain the
    issue. It is not sensible to show another message, "GPL-incompatible
    module ... uses GPL-only symbol".
    
    Add comments to explain this.
    
    While I was here, I renamed gpl_compatible to is_gpl_compatible for
    clarification, and also slightly refactored the code.
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
    5066743e
modpost.h 5.49 KB