[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: