[20.04] VMware Workstation/Player fails to build kernel modules VMMON & VMNET

Encountered this when trying to do something "real quick" just to find out vmware surprise upgrade/break... -_-

Unfortunately, my install (the last step) failed - anything obvious?

(venv) ➜  vmware-host-modules-workstation-15.5.1 sudo vmware-modconfig --console --install-all
[AppLoader] GLib does not have GSettings support.
Stopping VMware services:
   VMware Authentication Daemon                                        done
   Virtual machine monitor                                             done
make: Entering directory '/tmp/modconfig-QnmLzM/vmmon-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/5.11.0-25-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-5.11.0-25-generic'
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/common/memtrack.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/common/statVarsVmmon.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/common/vmx86.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/common/sharedAreaVmmon.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/common/cpuid.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/common/task.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/common/comport.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/common/phystrack.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/vmcore/moduleloop.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/bootstrap/monLoaderVmmon.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/bootstrap/monLoader.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/bootstrap/vmmblob.o
  CC [M]  /tmp/modconfig-QnmLzM/vmmon-only/bootstrap/bootstrap.o
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c: In function ‘HostIF_EstimateLockedPageLimit’:
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:1637:42: error: ‘NR_SLAB_UNRECLAIMABLE’ undeclared (first use in this function); did you mean ‘NR_SLAB_UNRECLAIMABLE_B’?
 1637 |    lockedPages += global_node_page_state(NR_SLAB_UNRECLAIMABLE);
      |                                          ^~~~~~~~~~~~~~~~~~~~~
      |                                          NR_SLAB_UNRECLAIMABLE_B
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:1637:42: note: each undeclared identifier is reported only once for each function it appears in
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c: In function ‘isVAReadable’:
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:2293:13: error: implicit declaration of function ‘get_fs’; did you mean ‘sget_fc’? [-Werror=implicit-function-declaration]
 2293 |    old_fs = get_fs();
      |             ^~~~~~
      |             sget_fc
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:2293:13: error: incompatible types when assigning to type ‘mm_segment_t’ {aka ‘struct <anonymous>’} from type ‘int’
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:2294:4: error: implicit declaration of function ‘set_fs’; did you mean ‘sget_fc’? [-Werror=implicit-function-declaration]
 2294 |    set_fs(KERNEL_DS);
      |    ^~~~~~
      |    sget_fc
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:2294:11: error: ‘KERNEL_DS’ undeclared (first use in this function); did you mean ‘KERNFS_NS’?
 2294 |    set_fs(KERNEL_DS);
      |           ^~~~~~~~~
      |           KERNFS_NS
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c: In function ‘HostIF_APICInit’:
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:2416:23: error: ‘SPURIOUS_APIC_VECTOR’ undeclared (first use in this function)
 2416 |    monitorIPIVector = SPURIOUS_APIC_VECTOR;
      |                       ^~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c: In function ‘HostIF_SemaphoreWait’:
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:2570:13: error: incompatible types when assigning to type ‘mm_segment_t’ {aka ‘struct <anonymous>’} from type ‘int’
 2570 |    old_fs = get_fs();
      |             ^~~~~~
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:2571:11: error: ‘KERNEL_DS’ undeclared (first use in this function); did you mean ‘KERNFS_NS’?
 2571 |    set_fs(KERNEL_DS);
      |           ^~~~~~~~~
      |           KERNFS_NS
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c: In function ‘HostIF_SemaphoreSignal’:
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:2703:13: error: incompatible types when assigning to type ‘mm_segment_t’ {aka ‘struct <anonymous>’} from type ‘int’
 2703 |    old_fs = get_fs();
      |             ^~~~~~
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:2704:11: error: ‘KERNEL_DS’ undeclared (first use in this function); did you mean ‘KERNFS_NS’?
 2704 |    set_fs(KERNEL_DS);
      |           ^~~~~~~~~
      |           KERNFS_NS
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c: In function ‘HostIFFastClockThread’:
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:3269:12: error: incompatible types when assigning to type ‘mm_segment_t’ {aka ‘struct <anonymous>’} from type ‘int’
 3269 |    oldFS = get_fs();
      |            ^~~~~~
/tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.c:3270:11: error: ‘KERNEL_DS’ undeclared (first use in this function); did you mean ‘KERNFS_NS’?
 3270 |    set_fs(KERNEL_DS);
      |           ^~~~~~~~~
      |           KERNFS_NS
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:287: /tmp/modconfig-QnmLzM/vmmon-only/linux/hostif.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1848: /tmp/modconfig-QnmLzM/vmmon-only] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.11.0-25-generic'
make: *** [Makefile:117: vmmon.ko] Error 2
make: Leaving directory '/tmp/modconfig-QnmLzM/vmmon-only'
make: Entering directory '/tmp/modconfig-QnmLzM/vmnet-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/5.11.0-25-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-5.11.0-25-generic'
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/userif.o
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/netif.o
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/smac_compat.o
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/smac.o
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/vnetEvent.o
  CC [M]  /tmp/modconfig-QnmLzM/vmnet-only/vnetUserListener.o
/tmp/modconfig-QnmLzM/vmnet-only/userif.c: In function ‘VNetCsumCopyDatagram’:
/tmp/modconfig-QnmLzM/vmnet-only/userif.c:582:11: error: too many arguments to function ‘csum_and_copy_to_user’
  582 |    csum = csum_and_copy_to_user(skb->data + offset, curr, len, 0, &err);
      |           ^~~~~~~~~~~~~~~~~~~~~
In file included from ./arch/x86/include/asm/checksum.h:8,
                 from ./include/net/checksum.h:22,
                 from ./include/linux/skbuff.h:28,
                 from ./include/linux/if_ether.h:19,
                 from /tmp/modconfig-QnmLzM/vmnet-only/userif.c:27:
./arch/x86/include/asm/checksum_64.h:136:15: note: declared here
  136 | extern __wsum csum_and_copy_to_user(const void *src, void __user *dst, int len);
      |               ^~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-QnmLzM/vmnet-only/userif.c:596:13: error: too many arguments to function ‘csum_and_copy_to_user’
  596 |   tmpCsum = csum_and_copy_to_user(vaddr + compat_skb_frag_off(frag),
      |             ^~~~~~~~~~~~~~~~~~~~~
In file included from ./arch/x86/include/asm/checksum.h:8,
                 from ./include/net/checksum.h:22,
                 from ./include/linux/skbuff.h:28,
                 from ./include/linux/if_ether.h:19,
                 from /tmp/modconfig-QnmLzM/vmnet-only/userif.c:27:
./arch/x86/include/asm/checksum_64.h:136:15: note: declared here
  136 | extern __wsum csum_and_copy_to_user(const void *src, void __user *dst, int len);
      |               ^~~~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:287: /tmp/modconfig-QnmLzM/vmnet-only/userif.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1848: /tmp/modconfig-QnmLzM/vmnet-only] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.11.0-25-generic'
make: *** [Makefile:117: vmnet.ko] Error 2
make: Leaving directory '/tmp/modconfig-QnmLzM/vmnet-only'
Unable to install all modules.  See log for details.