[PATCH ??] Re: incorrect taint of ndiswrapper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 25 Oct 2006 20:59:23 -0700 Andrew Morton wrote:

> > On Wed, 25 Oct 2006 21:30:26 +0100 Alan Cox <[email protected]> wrote:
> > Ar Mer, 2006-10-25 am 16:11 -0400, ysgrifennodd Pavel Roskin:
> > > I don't see any legal reasons behind this restriction.  A driver under
> > > GPL should be able to use any exported symbols.  EXPORT_SYMBOL_GPL is a
> > > technical mechanism of enforcing GPL against non-free code, but
> > > ndiswrapper is free.  The non-free NDIS drivers are not using those
> > > symbols.
> > 
> > The combination of GPL wrapper and the NDIS driver as a work is not free
> > (in fact its questionable if its even legal to ship such a combination
> > together).
> 
> May be so.  But this patch was supposed to print a helpful taint message to
> draw our attention to the fact that ndis-wrapper was in use.  The patch was
> not intended to cause gpl'ed modules to stop loading (or if is was, that
> effect was concealed from yours truly).
> 
> IOW, this was a mistake.
> 
> 
> Now, if we do want to disallow gpl module loading after ndis-wrapper has
> been used then fine, we can discuss that.  If we decide to proceed that way
> then we will probably cause a load of ndis-wrapper to emit a scary printk for
> six months or so to give people time to make arrangements.

Yes, if I understand what's happening, then this was an unintended
consequence.
Does the patch below allow ndiswrapper to operate?
Of course, this still leaves the kernel marked as tainted,
without an indication of which module caused that.  Not the best
situation.

---
From: Randy Dunlap <[email protected]>

For ndiswrapper and driverloader, don't set the module->taints
flags, just set the kernel global tainted flag.
This should allow ndiswrapper to continue to use GPL symbols.
Not tested.

Signed-off-by: Randy Dunlap <[email protected]>
---
 kernel/module.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

--- linux-2619-rc3-pv.orig/kernel/module.c
+++ linux-2619-rc3-pv/kernel/module.c
@@ -1718,9 +1718,9 @@ static struct module *load_module(void _
 	set_license(mod, get_modinfo(sechdrs, infoindex, "license"));
 
 	if (strcmp(mod->name, "ndiswrapper") == 0)
-		add_taint_module(mod, TAINT_PROPRIETARY_MODULE);
+		add_taint(TAINT_PROPRIETARY_MODULE);
 	if (strcmp(mod->name, "driverloader") == 0)
-		add_taint_module(mod, TAINT_PROPRIETARY_MODULE);
+		add_taint(TAINT_PROPRIETARY_MODULE);
 
 	/* Set up MODINFO_ATTR fields */
 	setup_modinfo(mod, sechdrs, infoindex);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux