The endless GPL-compliant battle

June 21, 2011 · Posted in Linux · 1 Comment 

Yesterday I was helping out a friend with a very strange problem. He is using sys-kernel/gentoo-sources and x11-drivers/ati-drivers. When he was trying to build the ati-drivers package, the following error occured

 

FATAL: modpost: GPL-incompatible module fglrx.ko uses 
GPL-only symbol 'kmemcheck_mark_initialized'

What does this mean? Simple. No-GPL code is trying to use the “kmemcheck_mark_initialized” symbol exported by the kernel, which is licensed under the GPL. So where is the problem? Is there a sort of API/ABI incompatibility between the licenses? :p

Doing some googling, I found out that there are plenty of exported GPL-only kernel symbols which prevent proprietary code such as device drivers to link to them. However, I haven’t found a solution on how ( if possible ) to disable this restriction. The solution to my problem was to disable the CONFIG_KMEMCHECK[1] from the kernel configuration. I’ve also found a couple of other cases that different kernel configuration can cause the same problem[1][2].

The other solution would be to “hack” the ati module and change the MODULE_LICENSE attribute to “GPL” instead of “Proprietary. (C) 2002  - ATI Technologies, Starnberg, GERMANY”.

If you know of a way to globally disable this feature(??) please let me know.

[1]http://alinux.tv/Kernel-2.6.34/kmemcheck.txt

[2]http://article.gmane.org/gmane.linux.debian.devel.bugs.general/375953

[3]http://xrunhprof.wordpress.com/2007/04/28/modpost-gpl-incompatible-module-xxxko-uses-gpl-only-symbol-paravirt_ops/

Gentoo kernel bug hunting

December 4, 2008 · Posted in Gentoo · 2 Comments 

After Daniels Drake call on November issue of Gentoo Monthly Newsletter I decided to join and help gentoo kernel team to hunt, catch, and kill several kernel bugs.

So far I like the whole development process.  Daniel and the rest of the guys  ( on #gentoo-kernel irc room ) are trying to show us the correct ways to deal with a possible kernel bug. There is no much coding to do ( hopefully ). We just try to understand why a bug is happening without dealing with source files ( until now ).

I think that this is a good way to understand the whole Linux kernel’s tree and become more familiar with it .

If someone would like to join us, join #gentoo-kernel irc room on freenode servers . Furthermore you can read this guide about the whole kernel maintenance process

GreekBloggers.com
Patras Wireless Metropolitan Network
Planet Hellug
iloog
forum hellug