i have not found full guide how to run vmware pro after upgrade to kernek 4.9.9. after long search i found two guides which need to be done together to fix issue. and decided to post it for those who did not yet or new to this. the lines which have star are commands can just copy them without star. it worked for me in Linux linux-rwpa 4.4.36-8-default #1 SMP Fri Dec 9 16:18:38 UTC 2016 (3ec5648) x86_64 x86_64 x86_64 GNU/Linux
OS: SUSE LEAP.
get vmware bundle from official site
zypper install :
-gcc
-gcc-c++
-kerlnel-source
-kernel-syms
install:
./vmware~.bundle
install vmware
then do thee followings:
*cd /usr/lib/vmware/modules/source
*tar -xf vmnet.tar
*cd vmnet-only
*gedit userif.c
In vmnet-only/userif.c, around line 113, change to
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
retval = get_user_pages(addr, 1, 0, &page, NULL);
#else
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
retval = get_user_pages(addr, 1, 1, 0, &page, NULL);
#else
retval = get_user_pages(current, current->mm, addr,
1, 1, 0, &page, NULL);
#endif
#endif
save exit
*make
*cd ..
*tar -xf vmmon.tar
*cd /vmmon-only/linux
*gedit hostif.c
in vmmon-only/linux/hostif.c, around line 1162, change to
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
retval = get_user_pages((unsigned long)uvAddr, numPages, 0, ppages, NULL);
#else
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
#else
retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
numPages, 0, 0, ppages, NULL);
#endif
#endif
save&exit
*cd ..
*make
*cd ..
*cp vmmon.o /lib/modules/`uname -r`/kernel/drivers/misc/vmmon.ko
*cp vmnet.o /lib/modules/`uname -r`/kernel/drivers/misc/vmnet.ko
*depmod -a
*/etc/init.d/vmware restart