Re: 4.14.9 broke nvidia 384.98 kernel module

From: Hans-Peter Jansen
Date: Sat Dec 30 2017 - 07:36:51 EST


On Freitag, 29. Dezember 2017 10:23:56 Greg KH wrote:
> On Fri, Dec 29, 2017 at 02:08:08AM +0100, Hans-Peter Jansen wrote:
> > Hi Greg,
> >
> > I know, everybody hates NVidia and their proprietary stuff around here.
> >
> > Anyway, I wanted to let you and followers of 4.14 know, that changes
> > between>
> > 4.14.8 and 4.14.9 broke both current nvidia kernel drivers. See:
> > https://devtalk.nvidia.com/default/topic/1028016/linux/patch-for-compilin
> > g-v384-98-modules-with-linux-v4-14-9-/
> Should be fixed in 4.14.10-rc1, right?

Hmm, building with 4.14.10 without the patch results in:

[ 19s] + make -f Makefile nv-linux.o SYSSRC=/lib/modules/4.14.10-3-
default/source SYSOUT=/usr/src/linux-obj/x86_64/default
[...]
[ 88s] /home/abuild/rpmbuild/BUILD/nvidia-
gfxG04-384.98/obj/default/384.98/nvidia-uvm/uvm8_va_block.c:8771:41: error:
implicit declaration of function 'task_stack_page' [-Werror=implicit-function-
declaration]

With the patch applied (attached for reference), the build succeeds..

Cheers,
Petediff -durN nvidia-384-orig/nvidia-uvm/uvm8_va_block.c nvidia-384/nvidia-uvm/uvm8_va_block.c
--- a/kernel/nvidia-uvm/uvm8_va_block.c 2017-12-26 11:20:17.097715622 +0100
+++ b/kernel/nvidia-uvm/uvm8_va_block.c 2017-12-26 11:20:29.674381760 +0100
@@ -36,6 +36,10 @@
#include "uvm8_perf_prefetch.h"
#include "uvm8_mem.h"

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,9)
+#include <linux/sched/task_stack.h>
+#endif
+
typedef enum
{
BLOCK_PTE_OP_MAP,