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>

authored by Pavel Roskin and committed by Linus Torvalds 9b37ccfc 27d0483a

Changed files
+8 -1
kernel
+8 -1
kernel/module.c
··· 1933 1933 /* Set up license info based on the info section */ 1934 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 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 1945 if (strcmp(mod->name, "driverloader") == 0) 1939 1946 add_taint_module(mod, TAINT_PROPRIETARY_MODULE); 1940 1947