[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-mips-cvs
Subject:    MIPS: Fix __vmalloc() etc. on MIPS for non-GPL modules
From:       linux-mips () linux-mips ! org
Date:       2010-03-26 15:04:12
Message-ID: S1492222Ab0CZPEP/20100326150415Z+43645 () eddie ! linux-mips ! org
[Download RAW message or body]

Author: Anton Altaparmakov <aia21@cam.ac.uk> Thu Mar 25 20:48:12 2010 +0000
Comitter: Ralf Baechle <ralf@linux-mips.org> Fri Mar 26 15:41:09 2010 +0100
Commit: b4f4e35de3644f52132c794f7f3efb3b835e0c91
Gitweb: http://www.linux-mips.org/g/linux/b4f4e35d
Branch: linux-2.6.32-stable

Commit b3594a089f1c17ff919f8f78505c3f20e1f6f8ce (lmo) rsp.
351336929ccf222ae38ff0cb7a8dd5fd5c6236a0 (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: Anton 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: Ralf Baechle <ralf@linux-mips.org>
(cherry picked from commit 9368a0777aa3eaab13dcbd7038041df54885dc32)

---

 arch/mips/mm/cache.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic