4.4.0-143-generic upgrade 16.04 VMware no longer working

Vmware no longer compiles against 4.4.0-143-generic, 4.4.0-142-generic is the latest working kernel with VMware Workstation 12.5.9


Solution 1:

Here I found better way how to "update" vmware to work with my linux. It seems that one parameter was removed from get_user_pages, so just remove 0 from parameters and everything will be ok.

Do following under root user:

# cd /usr/lib/vmware/modules/source
# cp vmnet.tar vmnet.tar.bak
# cp vmmon.tar vmmon.tar.bak
# tar xf vmnet.tar
# tar xf vmmon.tar
# vi vmnet-only/userif.c

find:
   retval = get_user_pages(current, current->mm, addr,
                           1, 1, 0, &page, NULL);


change to:
   retval = get_user_pages(current, current->mm, addr,
                           1, 1, &page, NULL);


# vi vmmon-only/linux/hostif.c

find:
   retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
                           numPages, 0, 0, ppages, NULL);

change to:
   retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
                           numPages, 0, ppages, NULL);

# rm vmnet.tar ; tar cf vmnet.tar vmnet-only
# rm vmmon.tar ; tar cf vmmon.tar vmmon-only
# vmware-modconfig --console --install-all

Enjoy!

Solution 2:

Time to upgrade your vmware. The kernel change which finally hit the Ubuntu 4.4.0-143 kernel should have a working driver in the latest Vmware products. Nvidia drivers also have this problem, which new drivers fix. Other old drivers (anything using the get_user_pages() fucntion) need a rewrite, but the big vendors like Vmware have had since Jan. to get a working driver for Ubuntu ... 4.4.


For a more complete answer for people without the option of getting a new driver to fix the issue see Why do tuner card drivers fail to build after kernel update to 4.4.0-143-generic?
Freezing the kernel you use at a previous version forgoes subsequent security patches. N0rbert is more optimistic than I am that another 4.4 kernel release will be available to fix this problem. You might also solve your problem by upgrading releases to a later kernel with (still) working Vmware drivers. 16.04 still has years of support, with HWE kernel updates available, but 14.04 running the Xenial HWE only has a month of support left, so people in that situation might better concenrate their efforts on selecting an OS release upgrade.