Bug 1173591 - Build of VMware access to kernel gives issues at interface build time.
Build of VMware access to kernel gives issues at interface build time.
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Distribution
Classification: openSUSE
Component: Kernel
Leap 15.2
x86-64 SUSE Other
: P2 - High : Major (vote)
: ---
Assigned To: openSUSE Kernel Bugs
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-07-01 15:13 UTC by Dick Waite
Modified: 2020-10-27 15:27 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dick Waite 2020-07-01 15:13:38 UTC
User-Agent:       Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0
Build Identifier: 

VMware workstation checks on lodaing it has built 2 interface tasks VMMON, VMNET if it has not then it tries to build them. Ob Leap 15.2 build 692.2 (GA) this fails. On Leap 15.0 and 15.1 this works Okay.
Log:
2020-06-28T09:38:09.590+02:00| host-2826| I005:  #define PCI_DEVICE_ID_VMWARE_VMXNET3            0x07B0
2020-06-28T09:38:09.590+02:00| host-2826| I005:  
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/userif.c: In function ‘VNetCsumCopyDatagram’:
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/userif.c:85:39: error: ‘skb_frag_t {aka const struct bio_vec}’ has no member named ‘page_offset’; did you mean ‘bv_offset’?
2020-06-28T09:38:09.590+02:00| host-2826| I005:  #   define skb_frag_off(frag) (frag)->page_offset
2020-06-28T09:38:09.590+02:00| host-2826| I005:                                        ^
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/userif.c:576:43: note: in expansion of macro ‘skb_frag_off’
2020-06-28T09:38:09.590+02:00| host-2826| I005:    tmpCsum = csum_and_copy_to_user(vaddr + skb_frag_off(frag),
2020-06-28T09:38:09.590+02:00| host-2826| I005:                                            ^~~~~~~~~~~~
2020-06-28T09:38:09.590+02:00| host-2826| I005: make[3]: *** [/usr/src/linux-5.3.18-lp152.19/scripts/Makefile.build:282: /tmp/modconfig-80KC2y/vmnet-only/userif.o] Error 1
2020-06-28T09:38:09.590+02:00| host-2826| I005: make[3]: *** Waiting for unfinished jobs....
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/hub.o: warning: objtool: .text.__x86_indirect_thunk_rax+0x0: unsupported intra-function call
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/hub.o: warning: objtool: If this is a retpoline, please patch it in with alternatives and annotate it with ANNOTATE_NOSPEC_ALTERNATIVE.
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/driver.o: warning: objtool: .text.__x86_indirect_thunk_r8+0x0: unsupported intra-function call
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/driver.o: warning: objtool: If this is a retpoline, please patch it in with altvmware-2826.log lines 522-549/554 99%


Reproducible: Always

Steps to Reproduce:
1.build leap 15.2 at 692.2
2.Install VMware Workstation 15-5-6
3.Run VMware Workstation
Actual Results:  
2020-06-28T09:38:09.590+02:00| host-2826| I005:  #define PCI_DEVICE_ID_VMWARE_VMXNET3            0x07B0
2020-06-28T09:38:09.590+02:00| host-2826| I005:  
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/userif.c: In function ‘VNetCsumCopyDatagram’:
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/userif.c:85:39: error: ‘skb_frag_t {aka const struct bio_vec}’ has no member named ‘page_offset’; did you mean ‘bv_offset’?
2020-06-28T09:38:09.590+02:00| host-2826| I005:  #   define skb_frag_off(frag) (frag)->page_offset
2020-06-28T09:38:09.590+02:00| host-2826| I005:                                        ^
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/userif.c:576:43: note: in expansion of macro ‘skb_frag_off’
2020-06-28T09:38:09.590+02:00| host-2826| I005:    tmpCsum = csum_and_copy_to_user(vaddr + skb_frag_off(frag),
2020-06-28T09:38:09.590+02:00| host-2826| I005:                                            ^~~~~~~~~~~~
2020-06-28T09:38:09.590+02:00| host-2826| I005: make[3]: *** [/usr/src/linux-5.3.18-lp152.19/scripts/Makefile.build:282: /tmp/modconfig-80KC2y/vmnet-only/userif.o] Error 1
2020-06-28T09:38:09.590+02:00| host-2826| I005: make[3]: *** Waiting for unfinished jobs....
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/hub.o: warning: objtool: .text.__x86_indirect_thunk_rax+0x0: unsupported intra-function call
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/hub.o: warning: objtool: If this is a retpoline, please patch it in with alternatives and annotate it with ANNOTATE_NOSPEC_ALTERNATIVE.
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/driver.o: warning: objtool: .text.__x86_indirect_thunk_r8+0x0: unsupported intra-function call
2020-06-28T09:38:09.590+02:00| host-2826| I005: /tmp/modconfig-80KC2y/vmnet-only/driver.o: warning: objtool: If this is a retpoline, please patch it in with altvmware-2826.log lines 522-549/554 99%


Expected Results:  
VMware Workstation will run.

This was sent my email on the 28th June as my access to Bugzilla had a bug.
Without a fix VMware Workstation does not run, so I can not run my virtual machines which work very hard to check my software is working Okay.
It is posable depending on this bug SLES15 SP-2 could have the same issues.
Comment 1 Dick Waite 2020-07-04 15:57:37 UTC
Saturday 4th July. I ran another zypper up today which added about 14 updates but after a reboot I still get the same issues when building VMMON and VMNET.
Comment 2 Michal Kubeček 2020-07-08 09:45:34 UTC
It is a known problem, we backported the skb_frag_t conversion from upstream
5.4-rc1 into our SLE15-SP2 and openSUSE-15.2 kernels which are 5.3. As vmnet
module checks only kernel version, it tries to access ->page_offset directly
which is no longer possible.

This patch addresses the issue:

  https://github.com/mkubecek/vmware-host-modules/commit/64ec3716346e
Comment 3 Dick Waite 2020-07-08 09:56:03 UTC
Grand Day,

Ummmm I'm happy I left my phyiscal SLES15 SP-2 machines alone...
How do I apply the fix, sorry not very wise at this level. I'd like to apply it to my phyiscal Leap15.2 machines and seeing it work I have 8 SLES15 SP-2 I'd like to bring into life running VMware Workstation 15-5-6.
Did VMware know about this fix ? 
__R
Comment 4 Michal Kubeček 2020-07-08 10:12:24 UTC
(In reply to Dick Waite from comment #3)
> Ummmm I'm happy I left my phyiscal SLES15 SP-2 machines alone...
> How do I apply the fix, sorry not very wise at this level.

I would suggest to follow the instructions in INSTALL file:

  https://github.com/mkubecek/vmware-host-modules/blob/workstation-15.5.6/INSTALL

> Did VMware know about this fix ? 

I suspect they are aware but they have their "list of supported host systems"
which they believe in and they strictly refuse to care about anything not in
it. So we can only hope that with next version, Leap 15.2 and SLE15 SP2 might
be in that list.
Comment 5 Dick Waite 2020-07-08 10:25:38 UTC
Many Thanks indeed and I very detailed Install file it is. Just the thing for this wet afternoon. Looks a grand opertuinty to learn a thing or two. Many thanks to how ever put the Install together. I'm running Workstation 15.5.6 and I'll try:

First method (build and install):

  wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-15.5.6.tar.gz
  tar -xzf workstation-15.5.6.tar.gz
  cd vmware-host-modules-workstation-15.5.6
  make
  make install

Last command must be executed with root privileges (first four shouldn't).
Based on your VMware product, replace "14.1.1" with your installed version
and/or "workstation" with "player". 15.5.6 

Workstation v14 was quite a long time ago, you don't expect any issues with a 15.5.6 ?

__R
Comment 6 Michal Kubeček 2020-07-08 10:41:05 UTC
(In reply to Dick Waite from comment #5)
> Workstation v14 was quite a long time ago, you don't expect any issues with
> a 15.5.6 ?

That's why you need to replace "14.1.1" with "15.5.6".
Comment 7 Dick Waite 2020-07-08 10:46:19 UTC
Grand comment... results later.
Comment 8 Dick Waite 2020-07-08 15:12:53 UTC
With the grand help of Michal I now have three phyiscal Leap15.2 machines running with VMware Workstation 15.5.6. Saturday it will be the time for SLES15 SP-2.
Comment 9 Dick Waite 2020-07-14 05:46:10 UTC
Just like to confirm VMware Workstation 15.5.6 is running on a physical machine that has been "migrated" from SLES15 SP-1 to SP-2. One does have to run Michal Kubecek "INSTAL" kit to get the kernel and VMWare talking.
__R
Comment 10 Miroslav Beneš 2020-10-27 15:27:30 UTC
It seems to me that we're done here. Closing.