Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 11-18-07, 12:21 PM   #1
sangu
Registered User
 
Join Date: Feb 2005
Posts: 84
Default kernel module build error in kernel-2.6.24-rc2-git6

Quote:
$ rpmbuild --rebuild nvidia-kmod-169.04-1.fc9.src.rpm --define "kernels 2.6.24-0.38.rc2.git6.fc9" --target i686
[...]
make -f /usr/src/kernels/2.6.24-0.38.rc2.git6.fc9-i686/scripts/Makefile.modpost
scripts/mod/modpost -i /usr/src/kernels/2.6.24-0.38.rc2.git6.fc9-i686/Module.symvers -I /usr/src/redhat/BUILD/nvidia-kmod-169.04/_kmod_build_2.6.24-0.38.rc2.git6.fc9/usr/src/nv/Module.symvers -o /usr/src/redhat/BUILD/nvidia-kmod-169.04/_kmod_build_2.6.24-0.38.rc2.git6.fc9/usr/src/nv/Module.symvers -w -s
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'pv_cpu_ops'
make[3]: *** [__modpost] Error 1
make[2]: *** [modules] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Error 1
make: *** [module] Error 2
Fedora development (rawhide 20071118)

see also : REGRESSION: 2.6.24 breaks nvidia and amd/ati binary drivers, by exporting paravirt symbols as GPL
http://www.mail-archive.com/linux-ke...msg229172.html
sangu is offline   Reply With Quote
Old 11-18-07, 12:35 PM   #2
zander
NVIDIA Corporation
 
zander's Avatar
 
Join Date: Aug 2002
Posts: 3,740
Default Re: kernel module build error in kernel-2.6.24-rc2-git6

This is a regression in the Linux kernel introduced by a change that split up the paravirt_ops dispatch table into a set of separate dispatch tables.

The NVIDIA Linux graphics driver implicitly picks up three dispatch tables, pv_cpu_ops, pv_mmu_ops and pv_irq_ops; the former two are only exported to GPL-licensed modules, the latter is exported to all modules.

More specifically, the Linux/x86 NVIDIA kernel module picks up pv_mmu_ops implicitely via pgd_val(), pte_val() and __flush_tlb(). It picks up pv_cpu_ops via local_irq_disable() (which translates to raw_local_irq_disable()), read_cr0(), write_cr0(), rdmsr() (which translates to paravirt_read_msr() and wrmsr() (which translates to paravirt_write_msr()).

This problem can not be worked around in the NVIDIA Linux graphics driver.

Due to changes to the layout of architecture specific include directories in recent Linux 2.6.24 pre-release kernels, the NVIDIA kernel module will fail to build against kernels built in separate output directories. This problem will be addressed in future driver releases.
zander is offline   Reply With Quote
Old 12-12-07, 05:57 PM   #3
jml
Registered User
 
Join Date: Mar 2006
Posts: 2
Default Re: kernel module build error in kernel-2.6.24-rc2-git6

any ETA on a fix or workaround for this ?

Quote:
Originally Posted by zander
This is a regression in the Linux kernel introduced by a change that split up the paravirt_ops dispatch table into a set of separate dispatch tables.

The NVIDIA Linux graphics driver implicitly picks up three dispatch tables, pv_cpu_ops, pv_mmu_ops and pv_irq_ops; the former two are only exported to GPL-licensed modules, the latter is exported to all modules.

More specifically, the Linux/x86 NVIDIA kernel module picks up pv_mmu_ops implicitely via pgd_val(), pte_val() and __flush_tlb(). It picks up pv_cpu_ops via local_irq_disable() (which translates to raw_local_irq_disable()), read_cr0(), write_cr0(), rdmsr() (which translates to paravirt_read_msr() and wrmsr() (which translates to paravirt_write_msr()).

This problem can not be worked around in the NVIDIA Linux graphics driver.

Due to changes to the layout of architecture specific include directories in recent Linux 2.6.24 pre-release kernels, the NVIDIA kernel module will fail to build against kernels built in separate output directories. This problem will be addressed in future driver releases.
jml is offline   Reply With Quote
Old 12-21-07, 03:23 AM   #4
sangu
Registered User
 
Join Date: Feb 2005
Posts: 84
Default Re: kernel module build error in kernel-2.6.24-rc2-git6

Fixed in 169.07.

Thanks.
sangu is offline   Reply With Quote
Old 12-21-07, 06:00 AM   #5
Dragoran
Registered User
 
Join Date: May 2004
Posts: 711
Default Re: kernel module build error in kernel-2.6.24-rc2-git6

Quote:
Originally Posted by sangu
Fixed in 169.07.

Thanks.
no its fixed in newer kernels (the symbols are exported for non GPL modules again).
Dragoran is offline   Reply With Quote
Old 12-21-07, 06:14 AM   #6
sangu
Registered User
 
Join Date: Feb 2005
Posts: 84
Default Re: kernel module build error in kernel-2.6.24-rc2-git6

Quote:
Originally Posted by Dragoran
no its fixed in newer kernels (the symbols are exported for non GPL modules again).
$ uname -r
2.6.24-0.115.rc5.git5.fc9

$ dmesg | grep NVRM
NVRM: loading NVIDIA UNIX x86 Kernel Module 169.07 Thu Dec 13 18:42:56 PST 2007

$rpm -q --changelog kernel-2.6.24-0.115.rc5.git5.fc9 | more
* Thu Dec 20 2007 Dave Airlie <airlied@redhat.com>
- Update drm upstream patches and add basic r500 drm support

* Wed Dec 19 2007 Chuck Ebbert <cebbert@redhat.com>
- Enable CIFS upcall support.

* Wed Dec 19 2007 Kyle McMartin <kmcmartin@redhat.com>
- add --with sparse for people^Wsomeone who might care

* Wed Dec 19 2007 Kyle McMartin <kmcmartin@redhat.com>
- really disable sparse this time...

* Wed Dec 19 2007 Kyle McMartin <kmcmartin@redhat.com>
- 2.6.24-rc5-git5

And building nvidia kernel module works well in kernel-devel-2.6.24-0.121.rc6.fc9(2.6.24rc6).
sangu is offline   Reply With Quote
Old 12-21-07, 07:34 AM   #7
Dragoran
Registered User
 
Join Date: May 2004
Posts: 711
Default Re: kernel module build error in kernel-2.6.24-rc2-git6

yes thats what I said
note:
you are using 2.6.24-0.115.rc5.git5.fc9 which does not have the problem.
the thread was about: kernel-2.6.24-rc2-git6 which had this problem
Dragoran is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
Corrupted display - 302.17 - Dell Precision T3500 (G98 [Quadro NVS 295]) gbailey NVIDIA Linux 1 06-27-12 10:24 AM
UEFI+Nvidia - NVRM: Your system is not currently configured to drive a VGA console... interzoneuk NVIDIA Linux 0 06-26-12 04:51 AM
xorg locks-up with newest nvidia drivers w/ vdpau. theroot NVIDIA Linux 1 06-24-12 11:04 AM
Diablo 3 build guide: Barbarian, Demon Hunter, Monk, Witch Doctor and Wizard News Archived News Items 0 05-12-12 12:00 PM
X Failed to load NVdriver c00lr4c3r NVIDIA Linux 13 10-22-02 01:44 PM

All times are GMT -5. The time now is 11:34 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.