root/trunk/freewrt/package/busybox/patches/940-missing_syms.patch

Revision 3367, 0.7 kB (checked in by tg, 5 years ago)

I'm fed of people telling me that loading a BSD licenced module
will “taint” the kernel and the missing symbols issues we can't
seem to track down.

Some other fwrt developers agreed that the “tainted” bit is not
of importance other than with support issues, and for fwrt, the
linux kernel guys aren't these who'll have to do support for an
end user anyway.

In case this upsets someone:
• busybox and linux are GPL'd -> you can't prevent me from pat-

ching these files

• citing the GPL version 2:

  • section 2, last paragraph:
    | In addition, mere aggregation of another work not based on the Program
    | with the Program (or with a work based on the Program) on a volume of
    | a storage or distribution medium does not bring the other work under
    | the scope of this License.
    this is what makes wl.o distributable, assuming it is not a
    work based on the Linux kernel (and it's not ours to deter-
    mine this but Broadcom's)
  • section 0:
    | […] The act of running the Program is not restricted […]
    (sections 1ff. only apply to distribution, and the brcm de-
    vices don't even have enough storage to prepare a core dump
    of the memory image of the kernel combined with the modules
    anyway, so nobody's going to distribute the result)

This patch should solve some of the cases of missing symbols on
module load.

  • busybox-1.4.2/modutils/insmod.c

    old new  
    23012301                 * their references. 
    23022302                 */ 
    23032303                if (strncmp((char *)s->name, "GPLONLY_", 8) == 0) { 
     2304#if 0 
    23042305#if ENABLE_FEATURE_CHECK_TAINTED_MODULE 
    23052306                        if (gpl) 
    23062307                                s->name += 8; 
    23072308                        else 
    23082309#endif 
    23092310                                continue; 
     2311#else 
     2312                        /* 
     2313                         * this is ridiculous and only for people who 
     2314                         * haven't understood the GPL; as long as you 
     2315                         * don't distribute dumps you're fine and the 
     2316                         * BSD licence _is_ a free software licence. 
     2317                         */ 
     2318                        s->name += 8; 
     2319#endif 
    23102320                } 
    23112321                name = (char *)s->name; 
    23122322 
Note: See TracBrowser for help on using the browser.