diff options
author | Pavel Roskin <proski@gnu.org> | 2008-02-28 17:11:02 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-04 23:29:40 -0500 |
commit | 9b37ccfc637be27d9a652fcedc35e6e782c3aa78 (patch) | |
tree | 525fd97d130c630ff5e65de2d83823174986a6a5 /kernel/module.c | |
parent | 27d0483aa1ef66a8877d71b63bb97f46ab0246b2 (diff) |
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>
Diffstat (limited to 'kernel/module.c')
-rw-r--r-- | kernel/module.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/module.c b/kernel/module.c index 901cd6ac2f11..be4807fb90e4 100644 --- a/kernel/module.c +++ b/kernel/module.c | |||
@@ -1933,8 +1933,15 @@ static struct module *load_module(void __user *umod, | |||
1933 | /* Set up license info based on the info section */ | 1933 | /* Set up license info based on the info section */ |
1934 | set_license(mod, get_modinfo(sechdrs, infoindex, "license")); | 1934 | set_license(mod, get_modinfo(sechdrs, infoindex, "license")); |
1935 | 1935 | ||
1936 | /* | ||
1937 | * ndiswrapper is under GPL by itself, but loads proprietary modules. | ||
1938 | * Don't use add_taint_module(), as it would prevent ndiswrapper from | ||
1939 | * using GPL-only symbols it needs. | ||
1940 | */ | ||
1936 | if (strcmp(mod->name, "ndiswrapper") == 0) | 1941 | if (strcmp(mod->name, "ndiswrapper") == 0) |
1937 | add_taint_module(mod, TAINT_PROPRIETARY_MODULE); | 1942 | add_taint(TAINT_PROPRIETARY_MODULE); |
1943 | |||
1944 | /* driverloader was caught wrongly pretending to be under GPL */ | ||
1938 | if (strcmp(mod->name, "driverloader") == 0) | 1945 | if (strcmp(mod->name, "driverloader") == 0) |
1939 | add_taint_module(mod, TAINT_PROPRIETARY_MODULE); | 1946 | add_taint_module(mod, TAINT_PROPRIETARY_MODULE); |
1940 | 1947 | ||