VMware Communities
janyb
Contributor
Contributor
Jump to solution

Kernel module of Workstation Pro is not compiling under OpenSuse 15.2

Hello,

Kernel module compilation gives following error:

Log for VMware Workstation pid=XXXX version=15.5.6 build=build-16341506 option=Release

The process is 64-bit.

Host codepage=UTF-8 encoding=UTF-8

Host is Linux 5.3.18-lp152.19-default openSUSE Leap 15.2 openSUSE Leap 15.2

/tmp/modconfig-BOu4BL/vmnet-only/userif.c: In function ‘VNetCsumCopyDatagram’:

/tmp/modconfig-BOu4BL/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’?

#   define skb_frag_off(frag) (frag)->page_offset

                                       ^

/tmp/modconfig-BOu4BL/vmnet-only/userif.c:576:43: note: in expansion of macro ‘skb_frag_off’

   tmpCsum = csum_and_copy_to_user(vaddr + skb_frag_off(frag),

                                            ^~~~~~~~~~~~

Can I solve it on my own or is there allready a fix?

Best regards,

Jan

Reply
0 Kudos
1 Solution

Accepted Solutions
mkubecek
Hot Shot
Hot Shot
Jump to solution

This is because Leap 15.2 has 5.3 kernel but has backport of skb_frag_t conversion from upstream 5.4. As the module source only checks kernel version, it uses old code while it should use new one. This patch fixes the issue: https://github.com/mkubecek/vmware-host-modules/commit/64ec3716346e

View solution in original post

Reply
0 Kudos
2 Replies
mkubecek
Hot Shot
Hot Shot
Jump to solution

This is because Leap 15.2 has 5.3 kernel but has backport of skb_frag_t conversion from upstream 5.4. As the module source only checks kernel version, it uses old code while it should use new one. This patch fixes the issue: https://github.com/mkubecek/vmware-host-modules/commit/64ec3716346e

Reply
0 Kudos
janyb
Contributor
Contributor
Jump to solution

Hello mkubecek,

I unpacked file vmnet.tar in /usr/lib/vmware/modules/source, changed /usr/lib/vmware/modules/source/vmnet-only/userif.c according your parch and packed vmnet.tar again. Everything works now.

Many Thanks

Jan

Reply
0 Kudos