Linux 3.19-rcx Fatal modpost when installing Nvidia 343.36/346.35

Tried installing 343.36 and 346.22 drivers on linux 3.19-rc1. Besides errors due to f_dentry changes (just manually replace to fix), I get the following error.

FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol ‘__cachemode2pte_tbl’

Found this commit, sure enough ‘__cachemode2pte_tbl’ is exported GPL only. Easily circumvented with a kernel patch but since driver is proprietary I don’t think there’s much we can do except wait for nvidia to fix.

I managed to make 346.22 work on 3.19-rc1 kernel. I changed f_dentry to f_path.dentry in nv.c and nv-frontend.c files. And the GPL problem I managed to get over by changing MODULE_LICENSE(“NVIDIA”); to MODULE_LICENSE(“GPL”); in the same files.

As I said before circumventing GPL-only symbols is trivial, a true fix would either be an update from Nvidia that removes use of that symbol or kernel changes for that symbol since non-GPL modules use it.

No swearing…

Same result on new beta 346.35 and Linux 3.15-rc5

Just updated to Kernel 3.19-rc6, and the GPL issue has been fixed…

From the changelog:
Juergen Gross:
x86, mm: Change cachemode exports to non-gpl

Driver 346.35 now compiles cleanly…


Looks like the kernel maintainers took care of it:

I verified 3.19 stable exports __cachemode2pte_tbl as non-GPL. Closing nvidia internal bug 200068906