module: allow ndiswrapper to use GPL-only symbols

Previous thread: Linux 2.6.25-rc4 by Linux Kernel Mailing List on Tuesday, March 4, 2008 - 10:00 pm. (1 message)

Next thread: pata_hpt*, pata_serverworks: fix UDMA masking by Linux Kernel Mailing List on Wednesday, March 5, 2008 - 7:59 pm. (1 message)
From: Linux Kernel Mailing List
Date: Tuesday, March 4, 2008 - 9:59 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b37cc...
Commit:     9b37ccfc637be27d9a652fcedc35e6e782c3aa78
Parent:     27d0483aa1ef66a8877d71b63bb97f46ab0246b2
Author:     Pavel Roskin <proski@gnu.org>
AuthorDate: Thu Feb 28 17:11:02 2008 -0500
Committer:  Linus Torvalds <torvalds@woody.linux-foundation.org>
CommitDate: Tue Mar 4 20:29:40 2008 -0800

    module: allow ndiswrapper to use GPL-only symbols
    
    A change after 2.6.24 broke ndiswrapper by accidentally removing its
    access to GPL-only symbols.  Revert that change and add comments about
    the reasons why ndiswrapper and driverloader are treated in a special
    way.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>
    Acked-by: Greg KH <gregkh@suse.de>
    Acked-by: Ingo Molnar <mingo@elte.hu>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Jon Masters <jonathan@jonmasters.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
 kernel/module.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index 901cd6a..be4807f 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1933,8 +1933,15 @@ static struct module *load_module(void __user *umod,
 	/* Set up license info based on the info section */
 	set_license(mod, get_modinfo(sechdrs, infoindex, "license"));
 
+	/*
+	 * ndiswrapper is under GPL by itself, but loads proprietary modules.
+	 * Don't use add_taint_module(), as it would prevent ndiswrapper from
+	 * using GPL-only symbols it needs.
+	 */
 	if (strcmp(mod->name, "ndiswrapper") == 0)
-		add_taint_module(mod, TAINT_PROPRIETARY_MODULE);
+		add_taint(TAINT_PROPRIETARY_MODULE);
+
+	/* driverloader was caught wrongly pretending to be under GPL */
 	if (strcmp(mod->name, "driverloader") == 0)
 		add_taint_module(mod, TAINT_PROPRIETARY_MODULE);
 
--

Previous thread: Linux 2.6.25-rc4 by Linux Kernel Mailing List on Tuesday, March 4, 2008 - 10:00 pm. (1 message)

Next thread: pata_hpt*, pata_serverworks: fix UDMA masking by Linux Kernel Mailing List on Wednesday, March 5, 2008 - 7:59 pm. (1 message)