• Huacai Chen's avatar
    LoongArch: Mark 3 symbol exports as non-GPL · dce5ea1d
    Huacai Chen authored
    vm_map_base, empty_zero_page and invalid_pmd_table could be accessed
    widely by some out-of-tree non-GPL but important file systems or drivers
    (e.g. OpenZFS). Let's use EXPORT_SYMBOL() instead of EXPORT_SYMBOL_GPL()
    to export them, so as to avoid build errors.
    
    1, Details about vm_map_base:
    
    This is a LoongArch-specific symbol and may be referenced through macros
    PCI_IOBASE, VMALLOC_START and VMALLOC_END.
    
    2, Details about empty_zero_page:
    
    As it stands today, only 3 architectures export empty_zero_page as a GPL
    symbol: IA64, LoongArch and MIPS. LoongArch gets the GPL export by
    inheriting from MIPS, and the MIPS export was first introduced in commit
    497d2adc ("[MIPS] Export empty_zero_page for sake of the ext4
    module."). The IA64 export was similar: commit a7d57ecf ("[IA64]
    Export three symbols for module use") did so for kvm.
    
    In both IA64 and MIPS, the export of empty_zero_page was done for
    satisfying some in-kernel component built as module (kvm and ext4
    respectively), and given its reasonably low-level nature, GPL is a
    reasonable choice. But looking at the bigger picture it is evident most
    other architectures do not regard it as GPL, so in effect the symbol
    probably should not be treated as such, in favor of consistency.
    
    3, Details about invalid_pmd_table:
    
    Keep consistency with invalid_pte_table and make it be possible by some
    modules.
    
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarWANG Xuerui <git@xen0n.name>
    Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
    dce5ea1d
cpu-probe.c 7.8 KB