FS#47744 - Bug with updated in the kernel and nvidia (error with symbol link)

Attached to Project: Arch Linux
Opened by RM Beer (rmbeer) - Thursday, 14 January 2016, 02:14 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 14 January 2016, 02:23 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To No-one
Architecture i686
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

hello.

i upgrade the version of following packages:
core/linux 4.3.3-2
extra/nvidia-304xx 304.131-3
community/virtualbox-host-modules 5.0.12-2

in this upgrade with "pacman -Syu" crash the kernel and nvidia. The nvidia driver giveme with this error log and not load in the memory:
nvidia: Unknown symbol mtrr_del (err 0)
nvidia: Unknown symbol mtrr_add (err 0)

with this error not create the /dev/dri/card0 and can't execute the Xorg.

I view this bug page in https://bugs.archlinux.org/task/47092, and try fixed this error using ABS for apply the new patch:

================================================================================
# cat /home/compsys/linux/export-mtrr.patch
--- a/arch/x86/kernel/cpu/mtrr/main.c 2015-11-01 21:05:25.000000000 -0300
+++ b/arch/x86/kernel/cpu/mtrr/main.c 2016-01-13 13:11:25.528067225 -0300
@@ -449,6 +449,8 @@
increment);
}

+EXPORT_SYMBOL(mtrr_add);
+
/**
* mtrr_del_page - delete a memory type region
* @reg: Register returned by mtrr_add
@@ -537,6 +539,8 @@
return mtrr_del_page(reg, base >> PAGE_SHIFT, size >> PAGE_SHIFT);
}

+EXPORT_SYMBOL(mtrr_del);
+
/**
* arch_phys_wc_add - add a WC MTRR and handle errors if PAT is unavailable
* @base: Physical base address
================================================================================

modify in PKGBUILD for add two new lines to source= and prepare() for apply the new patch, make new gpg keys with "makepkg -g", take the output and replace the sha256sums= in the PKGBUILD, compiling with "makepkg" (trying again after of added with gpg keys for linux-4.3.tar.xz and patch-4.3.3.xz), and install with "makepkg -i".

i have this change in PKGBUILD:
================================================================================
--- /var/abs/core/linux/PKGBUILD 2016-01-12 20:07:44.194843449 -0300
+++ /home/compsys/linux/PKGBUILD 2016-01-13 13:58:15.324759314 -0300
@@ -17,6 +17,7 @@
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign"
"0001-disabling-primary-plane-in-the-noatomic-case.patch"
+ "export-mtrr.patch"
# the main kernel config files
'config' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
@@ -28,6 +29,7 @@
'95cd81fcbb87953f672150d60950548edc04a88474c42de713b91811557fefa5'
'SKIP'
'abdd04bd6beecb7c961130a68d71e6332bd260462eeaa2f4f8e634de813dcc4d'
+ 'bebe182e6a32210025ee6abe60e8f96021e647a78fcdb2f7a59b19c1f45905fc'
'f4084c6d43abc40819f4535f827d3d8e643d25e67fedf0bab46346ead8c08b84'
'98caa62b4759f6ae180660cc1be4aeda7198e50fb7cf51aee4e677ae6ee2d19e'
'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
@@ -57,6 +59,8 @@
# hangs on older intel hardware
patch -Np1 -i "${srcdir}/0001-disabling-primary-plane-in-the-noatomic-case.patch"

+ patch -Np1 -i "${srcdir}/export-mtrr.patch"
+
if [ "${CARCH}" = "x86_64" ]; then
cat "${srcdir}/config.x86_64" > ./.config
else
================================================================================

now the error output of dmesg is:
nvidia: no symbol version for mtrr_del
nvidia: Unknown symbol mtrr_del (err -22)
nvidia: no symbol version for mtrr_add
nvidia: Unknown symbol mtrr_add (err -22)

I not have most idea for fixed....

Try install with linux-lts, not have change in the kernel (the lts is 4.1.15 but i always having with 4.3.3)

Then install the old packages that i have in the cache of pacman.

now have this in the system:
core/linux 4.3.3-2 (base) [instalado: 4.2.5-1]
extra/nvidia-304xx 304.131-3 [instalado: 304.131-2.1]
community/virtualbox-host-modules 5.0.12-2 [instalado: 5.0.10-2.1] <-- only for pass the dependences packages

the file /proc/kallsyms have:
[address] T mtrr_add
[address] T mtrr_del

Only the new version of kernel and nvidia have error with mtrr_add() and mtrr_del().

I have the GeoForce 6200 and only function with nvidia-304xx.

# uname -r
4.2.5-1-ARCH
This task depends upon

Closed by  Doug Newgard (Scimmia)
Thursday, 14 January 2016, 02:23 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#47092 

Loading...