You are not logged in.

#1 2017-02-08 10:25:40

mreiland
Member
Registered: 2007-03-06
Posts: 33

[solved] vmware module compilation failing

Hey guys,

I updated my installation today and it looks like vmware workstation doesn't support the kernel version we're running at.

Running 'pacman -Q | grep "linux "' tells me I'm currently running Linux 4.9.8-1, and the documentation at https://wiki.archlinux.org/index.php/VM … el_modules tells me vmware supports up to kernel 4.8, so I'm guessing that's the problem.

I'm getting the following errors:

/tmp/modconfig-lYx5O6/vmmon-only/linux/hostif.c: In function 'HostIFGetUserPages':
/tmp/modconfig-lYx5O6/vmmon-only/linux/hostif.c:1166:67: error: passing argument 5 of 'get_user_pages' from incompatible pointer type [-Werror=incompatible-pointer-types]
    retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
                                                                   ^~~~~~
In file included from /tmp/modconfig-lYx5O6/vmmon-only/./include/compat_page.h:23:0,
                 from /tmp/modconfig-lYx5O6/vmmon-only/linux/hostif.c:32:
./include/linux/mm.h:1280:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^~~~~~~~~~~~~~
/tmp/modconfig-lYx5O6/vmmon-only/linux/hostif.c:1166:13: error: too many arguments to function 'get_user_pages'
    retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
             ^~~~~~~~~~~~~~
In file included from /tmp/modconfig-lYx5O6/vmmon-only/./include/compat_page.h:23:0,
                 from /tmp/modconfig-lYx5O6/vmmon-only/linux/hostif.c:32:
./include/linux/mm.h:1280:6: note: declared here
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:293: /tmp/modconfig-lYx5O6/vmmon-only/linux/hostif.o] Error 1

And also

/tmp/modconfig-lYx5O6/vmnet-only/userif.c: In function 'UserifLockPage':
/tmp/modconfig-lYx5O6/vmnet-only/userif.c:117:43: error: passing argument 5 of 'get_user_pages' from incompatible pointer type [-Werror=incompatible-pointer-types]
    retval = get_user_pages(addr, 1, 1, 0, &page, NULL);
                                           ^
In file included from ./include/linux/highmem.h:7:0,
                 from /tmp/modconfig-lYx5O6/vmnet-only/userif.c:26:
./include/linux/mm.h:1280:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^~~~~~~~~~~~~~
/tmp/modconfig-lYx5O6/vmnet-only/userif.c:117:13: error: too many arguments to function 'get_user_pages'
    retval = get_user_pages(addr, 1, 1, 0, &page, NULL);
             ^~~~~~~~~~~~~~
In file included from ./include/linux/highmem.h:7:0,
                 from /tmp/modconfig-lYx5O6/vmnet-only/userif.c:26:
./include/linux/mm.h:1280:6: note: declared here
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:294: /tmp/modconfig-lYx5O6/vmnet-only/userif.o] Error 1


due to desperation I applied the fix I found at the following link since it appeared to be the same error about get_user_pages

https://communities.vmware.com/thread/536705?tstart=0


But it didn't work so I ended up backing out.

Is there a known fix for this issue?

If not, where do I need to look to learn how to

a) downgrade my kernel, and
b) pin my kernel

so I can avoid this issue in the future?

Last edited by mreiland (2017-02-09 07:49:33)

Offline

#2 2017-02-08 13:16:36

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,428

Re: [solved] vmware module compilation failing

Using the forum search, I've found this: https://bbs.archlinux.org/viewtopic.php?id=222520

Offline

#3 2017-02-09 07:49:11

mreiland
Member
Registered: 2007-03-06
Posts: 33

Re: [solved] vmware module compilation failing

That worked perfectly, thanks!

Offline

Board footer

Powered by FluxBB