Bug#419943: linux-2.6: CONFIG_PARAVIRT breaks some external modules
Package: linux-2.6
Version: 2.6.20-2
Severity: important
The 2.6.20 kernels in unstable for 686 and k7 have CONFIG_PARAVIRT enabled.
This apparently redefines various operations widely used by kernel modules
(or included via inlined functions) to redirect through a paravirts_ops
table, but the paravirts_ops table is marked GPL-only. This produces
errors like:
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only
symbol 'paravirt_ops'
I've seen this problem with both nvidia (non-free) and openafs (free, but
under a non-GPL license -- its code predates the existence of Linux). Note
that these modules are not intentionally using anything related to paravirt
themselves; it looks like the paravirt.h header file is selectively
overriding functions that are pulled into the modules and which those
modules were previously using without problems.
This problem does not occur on AMD64.
According to:
http://www.mail-archive.com/git-commits-head@vger.kernel.org/msg03856.html
this was done because the code is experimental and in flux and the API
will change. Given that and its effect on out-of-tree modules, could
you disable this option for the time being until the interfaces stabilize?
Thanks!
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.18-4-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Reply to: