Re: Linux GPL and binary module exception clause?
From: Valdis . Kletnieks
Date: Fri Dec 05 2003 - 00:14:02 EST
On Fri, 05 Dec 2003 15:23:10 +1100, Peter Chubb said:
> As far as I know, interfacing to a published API doesn't infringe
> copyright.
Well, if the only thing in the .h files was #defines and structure definitions,
it would probably be a slam dunk to decide that, yes.
Here's the part where people's eyes glaze over:
% cd /usr/src/linux-2.6.0-test10-mm1
% find include -name '*.h' | xargs egrep 'static.*inline' | wc -l
6288
That's 6,288 chances for you to #include GPL code and end up
with executable derived from it in *your* .o file, not the kernel's.
More to the point, look at include/linux/rwsem.h, and ask yourself
how to call down_read(), down_write(), up_read(), and up_write()
without getting little snippets of GPL all over your .o.
And even if your module doesn't get screwed by that, there's a
few other equally dangerous inlines waiting to bite you on the posterior.
I seem to recall one of the little buggers was particularly nasty, because it
simply Would Not Work if not inlined, so compiling with -fno-inline wasn't an
option. Unfortunately, I can't remember which it was - it was mentioned on
here a while ago when somebody's kernel failed to boot because a gcc 3.mumble
had broken inlining.....
Attachment:
pgp00001.pgp
Description: PGP signature