diff --git a/[refs] b/[refs] index e6ec4f188b2b..e38bbf884e26 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 27d0483aa1ef66a8877d71b63bb97f46ab0246b2 +refs/heads/master: 9b37ccfc637be27d9a652fcedc35e6e782c3aa78 diff --git a/trunk/kernel/module.c b/trunk/kernel/module.c index 901cd6ac2f11..be4807fb90e4 100644 --- a/trunk/kernel/module.c +++ b/trunk/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);