• A
    MIPS: Fix __vmalloc() etc. on MIPS for non-GPL modules · 7b3e543d
    Anton Altaparmakov 提交于
    Commit b3594a089f1c17ff919f8f78505c3f20e1f6f8ce (lmo) rsp.
    35133692 (kernel.org) break non-GPL modules
    that use __vmalloc() or any of the vmap(), vm_map_ram(), etc functions on
    MIPS.
    
    All those functions are EXPORT_SYMBOL() so are meant to be allowed to be
    used by non-GPL kernel modules.  These calls all take page protection as
    an argument which is normally a constant like PAGE_KERNEL.
    
    This commit causes all protection constants like PAGE_KERNEL to not be
    constants and instead to contain the GPL-only symbol _page_cachable_default.
    
    This means that all calls to __vmalloc(), vmap(), etc, cause non-GPL
    modules to fail to link with the complaint that they are trying to use the
    GPL-only symbol _page_cachable_default...
    
    Change EXPORT_SYMBOL_GPL(_page_cachable_default) to EXPORT_SYMBOL() for
    non-GPL modules that call __vmalloc(), vmap(), vm_map_ram() etc.
    Signed-off-by: NAnton Altaparmakov <aia21@cantab.net>
    Cc: Chris Dearman <chris@mips.com>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: http://patchwork.linux-mips.org/patch/1084/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
    7b3e543d
cache.c 6.5 KB