Re: [PATCH] make LSM register functions GPLonly exports

Crispin Cowan (crispin@wirex.com)
Thu, 17 Oct 2002 09:51:06 -0700


This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigF14B24A9121C81991429F048
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Greg KH wrote:

>On Thu, Oct 17, 2002 at 03:35:05PM +0100, Christoph Hellwig wrote:
>
>
>>These exports have the power to change the implementations of all
>>syscalls and I've seen people exploiting this "feature".
>>
>>Make the exports GPLonly (which some LSM folks agreed to
>>when it was merged initially to avoid that).
>>
>>
>I would really, really, really like to make this change. Unfortunatly,
>one of the current copyright holders of this file does not agree with
>it.
>
>Crispin, for the benifit of the lkml readers, can you explain why WireX
>does not want this change?
>
Here's the monster flame-war we had the last time this issue was debated
http://www.uwsg.iu.edu/hypermail/linux/kernel/0109.3/0102.html

My argument against the intent of this change is that no, I do not think
we should restrict LSM modules to be GPL-only. LSM is an API for loading
externally developed packages of software, similar to syscalls. There is
benefit in permitting proprietary modules (you get additional modules
that you would not get otherwise) just as there is benefit in permitting
proprietary applications (you get Oracle, DB2, and WordPerfect).

My argument against the implementation technique of dropping in these
export GPLonly symbols is that my read of the GPL itself means that they
have no legal impact. The crux of the matter is whether a *court* finds
that LSM is "linking" (in the GPL sense) or is an "interface":

* If it is "linking": then all LSM modules end up GPL'd, regardless
of what any of us want.
* If it is "an interface": then the GPL specifically *prohibits* you
from imposing additional restrictions, such as requiring someone
else's module to be GPL'd, to wit:
o Clause 4: "You may not copy, modify, sublicense, or
distribute the Program except as expressly provided under
this License."
o Clause 6: "... You may not impose any further restrictions
on the recipients' exercise of the rights granted herein."

Therefore, the EXPORT_SYMBOL_GPL is just a bunch of useless bloat, with
no legal standing what so ever. If kernel module interfaces are held by
a court to be linking, then export symbols are redundant. If kernel
module interfaces are held by a court to be an interface, then the
export symbols are just wrong.

Crispin

-- 
Crispin Cowan, Ph.D.
Chief Scientist, WireX                      http://wirex.com/~crispin/
Security Hardened Linux Distribution:       http://immunix.org
Available for purchase: http://wirex.com/Products/Immunix/purchase.html

--------------enigF14B24A9121C81991429F048 Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE9ruqC5ZkfjX2CNDARAb9oAJ0Rfcs1AmzFcThwMu6LwjYk53kNFgCg3Pr7 ZRqO8UZlVjmiWuDqa1W7XUM= =5oBb -----END PGP SIGNATURE-----

--------------enigF14B24A9121C81991429F048--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/