|
@@ -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);
|
|
|
|