Kernel – 4.7-rc1 Breaks NVIDIA and VMware..

Kernel 4.7-rc1 is out, and brief details are here:  https://lkml.org/lkml/2016/5/29/77

The update breaks the latest NVIDIA drivers – 367.18 and 361.45.11:

..........
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-367.18/kernel/nvidia-uvm/uvm_linux.h:557:13: error: redefinition of ‘radix_tree_empty’
 static bool radix_tree_empty(struct radix_tree_root *tree)
..................................
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-367.18/kernel/nvidia-drm/nvidia-drm-gem.c: In function ‘nvidia_drm_dumb_map_offset’:
/home/rgadsdon/kernel/NVIDIA-Linux-x86_64-367.18/kernel/nvidia-drm/nvidia-drm-gem.c:411:33: error: passing argument 1 of ‘drm_gem_object_lookup’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 gem = drm_gem_object_lookup(dev, file, handle);
........................

..and, breaks 4.6-patched VMware 12.1.1 (vmnet):

....................
/tmp/modconfig-UkXRB7/vmnet-only/netif.c: In function ‘VNetNetifStartXmit’:
/tmp/modconfig-UkXRB7/vmnet-only/netif.c:468:7: error: ‘struct net_device’ has no member named ‘trans_start’
 dev->trans_start = jiffies;
...................

I tested the vmnet issue by simply commenting out the line dev->trans_start = jiffies in netif.c, and VMware then compiled and (apparently..) ran OK..    This is not a proper solution, though!

Robert Gadsdon.   May 29, 2016


Comments

Kernel – 4.7-rc1 Breaks NVIDIA and VMware.. — 4 Comments

  1. Not a kernel developer but i think changing dev->trans_start = jiffies to netif_trans_update(dev) is the correct solution.

    • @g, Thanks for that.. I’ve applied it, with an appropriate kernel version test added, and everything still seems to work OK.. Difficult to test, as that code portion seems to be in the ‘if we get here something has gone wrong’ category..

      RG.

Leave a Reply

Your email address will not be published. Required fields are marked *