Bug#870677: nvidia-kernel-dkms: Doesn't compile with kernel 4.11 (and probably later)

2017-08-10 Thread Andreas Beckmann
On 2017-08-04 03:09, Jiri Palecek wrote:
> Package: nvidia-kernel-dkms
> Version: 378.13-1

Hi Jiri,

I've just uploaded 378.13-2 to experimental. It builds the module for up
to Linux 4.12, but we haven't had time to test it properly.

As an alternate solution, you could also build the more recent drivers
from SVN, 381.xx and 384.xx are prepared there, and will be uploaded
soon to experimental as well.


Andreas



Bug#870677: nvidia-kernel-dkms: Doesn't compile with kernel 4.11 (and probably later)

2017-08-10 Thread Luca Boccassi
On Thu, 2017-08-10 at 00:49 +0100, Luca Boccassi wrote:
> 
> They were quite straightforward as you can see.

This was a bit ambiguous: I meant that the patches are small so risk
should be quite low :-)

-- 
Kind regards,
Luca Boccassi

signature.asc
Description: This is a digitally signed message part


Bug#870677: nvidia-kernel-dkms: Doesn't compile with kernel 4.11 (and probably later)

2017-08-09 Thread Luca Boccassi
On Mon, 2017-08-07 at 03:12 +0200, Andreas Beckmann wrote:
> On 2017-08-04 03:09, Jiri Palecek wrote:
> > Package: nvidia-kernel-dkms
> > Version: 378.13-1
> 
> Hi Luca,
> 
> I tried to backport two patches from 340 (couldn't find the place
> where the third should be applied now), but that is not sufficient
> ...
> 
> Hopefully you can spot immediately what I missed.
> 
> (I want to fix 378 first before uploading 381 which will go through
> NEW, which may take some time)
> 
> Andreas

I've committed a bunch of new patches (a lot of borken stuff) in 378,
tested that it builds on amd64 and i386.

Note that I don't have a buster/sid machine at the moment so haven't
run them with 4.10/11/12, please give them a quick spin if you can.
They were quite straightforward as you can see.

Kind regards,
Luca Boccassi

signature.asc
Description: This is a digitally signed message part


Bug#870677: nvidia-kernel-dkms: Doesn't compile with kernel 4.11 (and probably later)

2017-08-09 Thread Luca Boccassi
On Mon, 2017-08-07 at 03:12 +0200, Andreas Beckmann wrote:
> On 2017-08-04 03:09, Jiri Palecek wrote:
> > Package: nvidia-kernel-dkms
> > Version: 378.13-1
> 
> Hi Luca,
> 
> I tried to backport two patches from 340 (couldn't find the place
> where the third should be applied now), but that is not sufficient
> ...
> 
> conftest result changes with these patches applied (this may already
> indicate the problem):
> 4.10.0-trunk-amd64 -> 4.11.0-1-amd64
> 
> -#undef NV_VM_OPS_FAULT_REMOVED_VMA_ARG
> +#define NV_VM_OPS_FAULT_REMOVED_VMA_ARG
> 
> -#define NV_DRM_HELPER_MODE_FILL_FB_STRUCT_HAS_CONST_MODE_CMD_ARG
> +#undef NV_DRM_HELPER_MODE_FILL_FB_STRUCT_HAS_CONST_MODE_CMD_ARG
> 
> 
> and it is failing here:
> 
>   if [ "-pg" = "-pg" ]; then if [ /usr/src/modules/nvidia-
> kernel/nvidia-uvm/uvm8_gpu.o != "scripts/mod/empty.o" ]; then
> ./scripts/recordmcount  "/usr/src/modules/nvidia-kernel/nvidia-
> uvm/uvm8_gpu.o"; fi; fi;
>    gcc-6 -Wp,-MD,/usr/src/modules/nvidia-kernel/nvidia-
> uvm/.uvm8_gpu_isr.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-
> gnu/6/include -I/usr/src/linux-headers-4.11.0-1-
> common/arch/x86/include -I./arch/x86/includ
> e/generated/uapi -I./arch/x86/include/generated  -I/usr/src/linux-
> headers-4.11.0-1-common/include -I./include -I/usr/src/linux-headers-
> 4.11.0-1-common/arch/x86/include/uapi -I/usr/src/linux-headers-
> 4.11.0-1-common/
> include/uapi -I./include/generated/uapi -include /usr/src/linux-
> headers-4.11.0-1-common/include/linux/kconfig.h  -
> I/usr/src/modules/nvidia-kernel -I/usr/src/modules/nvidia-kernel
> -D__KERNEL__ -Wall -Wundef -Wstrict
> -prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-
> implicit-function-declaration -Wno-format-security -std=gnu89 -fno-
> PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-
> jumps=1 -falig
> n-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3
> -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-
> at-a-time -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1
> -DCONFIG_AS_CFI_SIGNAL_FRAM
> E=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1
> -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1
> -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1
> -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-c
> ompare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-
> checks -Wno-frame-address -O2 --param=allow-store-data-races=0
> -DCC_HAVE_ASM_GOTO -Wframe-larger-than=2048 -fstack-protector-strong
> -Wno-unused-but-se
> t-variable -Wno-unused-const-variable -fno-var-tracking-assignments
> -g -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-
> pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-
> int -Werr
> or=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-
> types  -I/usr/src/modules/nvidia-kernel/common/inc  -
> I/usr/src/modules/nvidia-kernel -Wall -MD -Wsign-compare -Wno-cast-
> qual -Wno-error -D__KERNEL
> __ -DMODULE -DNVRM -DNV_VERSION_STRING=\"378.13\" -Wno-unused-
> function -Wuninitialized -fno-strict-aliasing -mno-red-zone
> -mcmodel=kernel -DNV_UVM_ENABLE -Wno-sign-compare -Wno-format-extra-
> args -Werror=undef -O2 -
> DNVIDIA_UVM_ENABLED -DNVIDIA_UNDEF_LEGACY_BIT_MACROS -DLinux
> -D__linux__  -I/usr/src/modules/nvidia-kernel/nvidia-uvm  -DMODULE  -
> DKBUILD_BASENAME='"uvm8_gpu_isr"'  -DKBUILD_MODNAME='"nvidia_uvm"' -c
> -o /usr/src/mo
> dules/nvidia-kernel/nvidia-uvm/.tmp_uvm8_gpu_isr.o
> /usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu_isr.c
> In file included from /usr/src/modules/nvidia-kernel/nvidia-
> uvm/uvm8_global.h:29:0,
>  from /usr/src/modules/nvidia-kernel/nvidia-
> uvm/uvm8_gpu_isr.c:24:
> /usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu_isr.c: In function
> 'uvm_gpu_replayable_faults_isr_unlock':
> /usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu_isr.c:273:28:
> error: passing argument 1 of 'atomic_read' from incompatible pointer
> type [-Werror=incompatible-pointer-types]
>  UVM_ASSERT(atomic_read(>gpu_kref.refcount) > 0);
> ^
> /usr/src/modules/nvidia-kernel/nvidia-uvm/uvm_common.h:138:45: note:
> in definition of macro 'UVM_IGNORE_EXPR'
>  #define UVM_IGNORE_EXPR(expr) ((void)sizeof(expr))
>  ^~~~
> /usr/src/modules/nvidia-kernel/nvidia-uvm/uvm_common.h:168:26: note:
> in expansion of macro '_UVM_ASSERT_MSG'
>  #define UVM_ASSERT(expr) _UVM_ASSERT_MSG(expr, #expr, "\n")
>   ^~~
> /usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu_isr.c:273:5: note:
> in expansion of macro 'UVM_ASSERT'
>  UVM_ASSERT(atomic_read(>gpu_kref.refcount) > 0);
>  ^~
> In file included from /usr/src/linux-headers-4.11.0-1-
> common/arch/x86/include/asm/msr.h:66:0,
>  from /usr/src/linux-headers-4.11.0-1-
> common/arch/x86/include/asm/processor.h:20,
>  from /usr/src/linux-headers-4.11.0-1-
> 

Bug#870677: nvidia-kernel-dkms: Doesn't compile with kernel 4.11 (and probably later)

2017-08-06 Thread Andreas Beckmann
On 2017-08-04 03:09, Jiri Palecek wrote:
> Package: nvidia-kernel-dkms
> Version: 378.13-1

Hi Luca,

I tried to backport two patches from 340 (couldn't find the place where the 
third should be applied now), but that is not sufficient ...

conftest result changes with these patches applied (this may already indicate 
the problem):
4.10.0-trunk-amd64 -> 4.11.0-1-amd64

-#undef NV_VM_OPS_FAULT_REMOVED_VMA_ARG
+#define NV_VM_OPS_FAULT_REMOVED_VMA_ARG

-#define NV_DRM_HELPER_MODE_FILL_FB_STRUCT_HAS_CONST_MODE_CMD_ARG
+#undef NV_DRM_HELPER_MODE_FILL_FB_STRUCT_HAS_CONST_MODE_CMD_ARG


and it is failing here:

  if [ "-pg" = "-pg" ]; then if [ 
/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu.o != "scripts/mod/empty.o" 
]; then ./scripts/recordmcount  
"/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu.o"; fi; fi;
   gcc-6 -Wp,-MD,/usr/src/modules/nvidia-kernel/nvidia-uvm/.uvm8_gpu_isr.o.d  
-nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/6/include 
-I/usr/src/linux-headers-4.11.0-1-common/arch/x86/include -I./arch/x86/includ
e/generated/uapi -I./arch/x86/include/generated  
-I/usr/src/linux-headers-4.11.0-1-common/include -I./include 
-I/usr/src/linux-headers-4.11.0-1-common/arch/x86/include/uapi 
-I/usr/src/linux-headers-4.11.0-1-common/
include/uapi -I./include/generated/uapi -include 
/usr/src/linux-headers-4.11.0-1-common/include/linux/kconfig.h  
-I/usr/src/modules/nvidia-kernel -I/usr/src/modules/nvidia-kernel -D__KERNEL__ 
-Wall -Wundef -Wstrict
-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common 
-Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE 
-mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falig
n-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 
-mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time 
-DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAM
E=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 
-DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 
-DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-c
ompare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks 
-Wno-frame-address -O2 --param=allow-store-data-races=0 -DCC_HAVE_ASM_GOTO 
-Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-se
t-variable -Wno-unused-const-variable -fno-var-tracking-assignments -g -pg 
-mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign 
-fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werr
or=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types  
-I/usr/src/modules/nvidia-kernel/common/inc  -I/usr/src/modules/nvidia-kernel 
-Wall -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL
__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"378.13\" -Wno-unused-function 
-Wuninitialized -fno-strict-aliasing -mno-red-zone -mcmodel=kernel 
-DNV_UVM_ENABLE -Wno-sign-compare -Wno-format-extra-args -Werror=undef -O2 -
DNVIDIA_UVM_ENABLED -DNVIDIA_UNDEF_LEGACY_BIT_MACROS -DLinux -D__linux__  
-I/usr/src/modules/nvidia-kernel/nvidia-uvm  -DMODULE  
-DKBUILD_BASENAME='"uvm8_gpu_isr"'  -DKBUILD_MODNAME='"nvidia_uvm"' -c -o 
/usr/src/mo
dules/nvidia-kernel/nvidia-uvm/.tmp_uvm8_gpu_isr.o 
/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu_isr.c
In file included from 
/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_global.h:29:0,
 from 
/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu_isr.c:24:
/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu_isr.c: In function 
'uvm_gpu_replayable_faults_isr_unlock':
/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu_isr.c:273:28: error: passing 
argument 1 of 'atomic_read' from incompatible pointer type 
[-Werror=incompatible-pointer-types]
 UVM_ASSERT(atomic_read(>gpu_kref.refcount) > 0);
^
/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm_common.h:138:45: note: in 
definition of macro 'UVM_IGNORE_EXPR'
 #define UVM_IGNORE_EXPR(expr) ((void)sizeof(expr))
 ^~~~
/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm_common.h:168:26: note: in 
expansion of macro '_UVM_ASSERT_MSG'
 #define UVM_ASSERT(expr) _UVM_ASSERT_MSG(expr, #expr, "\n")
  ^~~
/usr/src/modules/nvidia-kernel/nvidia-uvm/uvm8_gpu_isr.c:273:5: note: in 
expansion of macro 'UVM_ASSERT'
 UVM_ASSERT(atomic_read(>gpu_kref.refcount) > 0);
 ^~
In file included from 
/usr/src/linux-headers-4.11.0-1-common/arch/x86/include/asm/msr.h:66:0,
 from 
/usr/src/linux-headers-4.11.0-1-common/arch/x86/include/asm/processor.h:20,
 from 
/usr/src/linux-headers-4.11.0-1-common/arch/x86/include/asm/cpufeature.h:4,
 from 
/usr/src/linux-headers-4.11.0-1-common/arch/x86/include/asm/thread_info.h:52,
 from 
/usr/src/linux-headers-4.11.0-1-common/include/linux/thread_info.h:25,
 from 

Bug#870677: nvidia-kernel-dkms: Doesn't compile with kernel 4.11 (and probably later)

2017-08-03 Thread Jiri Palecek
Package: nvidia-kernel-dkms
Version: 378.13-1
Severity: normal

Dear Maintainer,

-- Package-specific info:
uname -a:
Linux debian 4.11.0-2-686-pae #1 SMP Debian 4.11.11-1 (2017-07-22) i686 
GNU/Linux

/proc/version:
Linux version 4.11.0-2-686-pae (debian-ker...@lists.debian.org) (gcc version 
6.4.0 20170704 (Debian 6.4.0-1) ) #1 SMP Debian 4.11.11-1 (2017-07-22)

/proc/driver/nvidia/version:
NVRM version: NVIDIA UNIX x86 Kernel Module  375.82  Wed Jul 19 20:16:02 PDT 
2017
GCC version:  gcc version 6.4.0 20170704 (Debian 6.4.0-1) 

lspci 'VGA compatible controller [0300]':
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF106 [GeForce GTS 
450] [10de:0dc4] (rev a1) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. GF106 [GeForce GTS 450] [1043:8366]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- 
Kernel driver in use: nvidia
Kernel modules: nvidia

dmesg:

Device node permissions:
crw-rw+ 1 root video 226,   0 Aug  3 17:55 /dev/dri/card0
crw-rw+ 1 root video 226, 128 Aug  3 17:55 /dev/dri/renderD128
crw-rw-rw-  1 root root  195, 254 Aug  3 18:01 /dev/nvidia-modeset
crw-rw-rw-  1 root root  195,   0 Aug  3 18:01 /dev/nvidia0
crw-rw-rw-  1 root root  195, 255 Aug  3 18:01 /dev/nvidiactl

/dev/dri/by-path:
total 0
lrwxrwxrwx 1 root root  8 Aug  3 17:55 pci-:02:00.0-card -> ../card0
lrwxrwxrwx 1 root root 13 Aug  3 17:55 pci-:02:00.0-render -> ../renderD128
video:x:44:

OpenGL and NVIDIA library files installed:
-rw-r--r-- 1 root root 2167 May 13  2016 /etc/X11/xorg.conf
lrwxrwxrwx 1 root root   15 Sep 25  2016 /etc/alternatives/glx -> 
/usr/lib/nvidia
lrwxrwxrwx 1 root root   47 Jun 26 14:53 
/etc/alternatives/glx--libEGL.so-i386-linux-gnu -> 
/usr/lib/mesa-diverted/i386-linux-gnu/libEGL.so
lrwxrwxrwx 1 root root   42 Sep 25  2016 
/etc/alternatives/glx--libEGL.so.1-i386-linux-gnu -> 
/usr/lib/i386-linux-gnu/nvidia/libEGL.so.1
lrwxrwxrwx 1 root root   46 Jun 26 14:53 
/etc/alternatives/glx--libGL.so-i386-linux-gnu -> 
/usr/lib/mesa-diverted/i386-linux-gnu/libGL.so
lrwxrwxrwx 1 root root   46 Jun 26 14:53 
/etc/alternatives/glx--libGL.so-i386-linux-gnu -> 
/usr/lib/mesa-diverted/i386-linux-gnu/libGL.so
lrwxrwxrwx 1 root root   41 Sep 25  2016 
/etc/alternatives/glx--libGL.so.1-i386-linux-gnu -> 
/usr/lib/i386-linux-gnu/nvidia/libGL.so.1
lrwxrwxrwx 1 root root   41 Sep 25  2016 
/etc/alternatives/glx--libGL.so.1-i386-linux-gnu -> 
/usr/lib/i386-linux-gnu/nvidia/libGL.so.1
lrwxrwxrwx 1 root root   48 Sep 25  2016 
/etc/alternatives/glx--libGLESv1_CM.so.1-i386-linux-gnu -> 
/usr/lib/i386-linux-gnu/nvidia/libGLESv1_CM.so.1
lrwxrwxrwx 1 root root   48 Sep 25  2016 
/etc/alternatives/glx--libGLESv1_CM.so.1-i386-linux-gnu -> 
/usr/lib/i386-linux-gnu/nvidia/libGLESv1_CM.so.1
lrwxrwxrwx 1 root root   50 Jun 26 14:53 
/etc/alternatives/glx--libGLESv2.so-i386-linux-gnu -> 
/usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so
lrwxrwxrwx 1 root root   50 Jun 26 14:53 
/etc/alternatives/glx--libGLESv2.so-i386-linux-gnu -> 
/usr/lib/mesa-diverted/i386-linux-gnu/libGLESv2.so
lrwxrwxrwx 1 root root   45 Sep 25  2016 
/etc/alternatives/glx--libGLESv2.so.2-i386-linux-gnu -> 
/usr/lib/i386-linux-gnu/nvidia/libGLESv2.so.2
lrwxrwxrwx 1 root root   45 Sep 25  2016 
/etc/alternatives/glx--libGLESv2.so.2-i386-linux-gnu -> 
/usr/lib/i386-linux-gnu/nvidia/libGLESv2.so.2
lrwxrwxrwx 1 root root   49 Sep 25  2016 
/etc/alternatives/glx--libnvidia-cfg.so.1-i386-linux-gnu -> 
/usr/lib/i386-linux-gnu/nvidia/libnvidia-cfg.so.1
lrwxrwxrwx 1 root root   25 Sep 25  2016 
/etc/alternatives/glx--linux-libglx.so -> /usr/lib/nvidia/libglx.so
lrwxrwxrwx 1 root root   42 Sep 25  2016 
/etc/alternatives/glx--nvidia-blacklists-nouveau.conf -> 
/etc/nvidia/nvidia-blacklists-nouveau.conf
lrwxrwxrwx 1 root root   36 Sep 25  2016 
/etc/alternatives/glx--nvidia-bug-report.sh -> 
/usr/lib/nvidia/nvidia-bug-report.sh
lrwxrwxrwx 1 root root   39 Sep 25  2016 
/etc/alternatives/glx--nvidia-drm-outputclass.conf -> 
/etc/nvidia/nvidia-drm-outputclass.conf
lrwxrwxrwx 1 root root   28 Sep 25  2016 
/etc/alternatives/glx--nvidia-load.conf -> /etc/nvidia/nvidia-load.conf
lrwxrwxrwx 1 root root   32 Sep 25  2016 
/etc/alternatives/glx--nvidia-modprobe.conf -> /etc/nvidia/nvidia-modprobe.conf
lrwxrwxrwx 1 root root   29 Sep 25  2016 
/etc/alternatives/glx--nvidia_drv.so -> /usr/lib/nvidia/nvidia_drv.so
lrwxrwxrwx 1 root root   22 Jun 26 14:53 /etc/alternatives/libGL.so-master 
-> /usr/lib/mesa-diverted
lrwxrwxrwx 1 root root   23 Aug  3 17:54 /etc/alternatives/nvidia -> 
/usr/lib/nvidia/current
lrwxrwxrwx 1 root root   50 Aug  3 17:54 
/etc/alternatives/nvidia--libEGL.so.1-i386-linux-gnu -> 
/usr/lib/i386-linux-gnu/nvidia/current/libEGL.so.1
lrwxrwxrwx 1 root root