mkubecek / vmware-host-modules

Patches needed to build VMware (Player and Workstation) host modules against recent kernels
GNU General Public License v2.0
2.31k stars 381 forks source link

Kernel 6.11-rc2 - VMware 17.5.2 - 6.9-patched vmmon and vmnet - multiple warnings #270

Open rgadsdon opened 3 months ago

rgadsdon commented 3 months ago

With Kernel 6.11-rc2:

/usr/bin/make -C /lib/modules/6.11.0-rc2/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-6.11-rc2'
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/comport.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/cpuid.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/crosspage.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/memtrack.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/moduleloop.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/phystrack.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/sharedAreaVmmon.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/statVarsVmmon.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/task.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/common/vmx86.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/bootstrap/bootstrap.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/bootstrap/monLoader.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/bootstrap/monLoaderVmmon.o
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/bootstrap/vmmblob.o
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/vm_assert.h:77,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/rateconv.h:44,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/ptsc.h:36,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/modulecall.h:34,
                 from /tmp/modconfig-1p3hIV/vmmon-only/common/crosspage.c:57:
./include/linux/minmax.h:329:9: warning: "MIN" redefined
  329 | #define MIN(a,b) __cmp(min,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmmon-only/./include/cpu_types.h:29,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/modulecall.h:33:
/tmp/modconfig-1p3hIV/vmmon-only/./include/vm_basic_defs.h:96:9: note: this is the location of the previous definition
   96 | #define MIN(_a, _b)   (((_a) < (_b)) ? (_a) : (_b))
      |         ^~~
./include/linux/minmax.h:330:9: warning: "MAX" redefined
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
/tmp/modconfig-1p3hIV/vmmon-only/./include/vm_basic_defs.h:109:9: note: this is the location of the previous definition
  109 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/vm_assert.h:77,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/x86cpuid.h:38,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/x86cpuid_asm.h:39,
                 from /tmp/modconfig-1p3hIV/vmmon-only/common/apic.c:22:
./include/linux/minmax.h:329:9: warning: "MIN" redefined
  329 | #define MIN(a,b) __cmp(min,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmmon-only/common/apic.c:19:
/tmp/modconfig-1p3hIV/vmmon-only/./include/vm_basic_defs.h:96:9: note: this is the location of the previous definition
   96 | #define MIN(_a, _b)   (((_a) < (_b)) ? (_a) : (_b))
      |         ^~~
./include/linux/minmax.h:330:9: warning: "MAX" redefined
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
/tmp/modconfig-1p3hIV/vmmon-only/./include/vm_basic_defs.h:109:9: note: this is the location of the previous definition
  109 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/vm_assert.h:77,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/rateconv.h:44,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/ptsc.h:36,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/modulecall.h:34,
                 from /tmp/modconfig-1p3hIV/vmmon-only/common/vmx86.h:33,
                 from /tmp/modconfig-1p3hIV/vmmon-only/common/hostif.h:32,
                 from /tmp/modconfig-1p3hIV/vmmon-only/common/memtrack.c:89:
./include/linux/minmax.h:329:9: warning: "MIN" redefined
  329 | #define MIN(a,b) __cmp(min,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmmon-only/./include/cpu_types.h:29,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/modulecall.h:33:
/tmp/modconfig-1p3hIV/vmmon-only/./include/vm_basic_defs.h:96:9: note: this is the location of the previous definition
   96 | #define MIN(_a, _b)   (((_a) < (_b)) ? (_a) : (_b))
      |         ^~~
./include/linux/minmax.h:330:9: warning: "MAX" redefined
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
/tmp/modconfig-1p3hIV/vmmon-only/./include/vm_basic_defs.h:109:9: note: this is the location of the previous definition
  109 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/vm_assert.h:77,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/rateconv.h:44,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/ptsc.h:36,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/modulecall.h:34,
                 from /tmp/modconfig-1p3hIV/vmmon-only/common/vmx86.h:33,
                 from /tmp/modconfig-1p3hIV/vmmon-only/common/phystrack.c:44:
./include/linux/minmax.h:329:9: warning: "MIN" redefined
  329 | #define MIN(a,b) __cmp(min,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmmon-only/./include/cpu_types.h:29,
                 from /tmp/modconfig-1p3hIV/vmmon-only/./include/modulecall.h:33:
/tmp/modconfig-1p3hIV/vmmon-only/./include/vm_basic_defs.h:96:9: note: this is the location of the previous definition
   96 | #define MIN(_a, _b)   (((_a) < (_b)) ? (_a) : (_b))
      |         ^~~
./include/linux/minmax.h:330:9: warning: "MAX" redefined
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
/tmp/modconfig-1p3hIV/vmmon-only/./include/vm_basic_defs.h:109:9: note: this is the location of the previous definition
  109 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
  LD [M]  /tmp/modconfig-1p3hIV/vmmon-only/vmmon.o
  MODPOST /tmp/modconfig-1p3hIV/vmmon-only/Module.symvers
  CC [M]  /tmp/modconfig-1p3hIV/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/modconfig-1p3hIV/vmmon-only/vmmon.ko
make[1]: Leaving directory '/usr/src/linux-6.11-rc2'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-1p3hIV/vmmon-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-1p3hIV/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory '/tmp/modconfig-1p3hIV/vmmon-only'
make: Entering directory '/tmp/modconfig-1p3hIV/vmnet-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/6.11.0-rc2/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-6.11-rc2'
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/userif.o
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/netif.o
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/smac_compat.o
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/smac.o
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/vnetEvent.o
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/vnetUserListener.o
In file included from /tmp/modconfig-1p3hIV/vmnet-only/smac_compat.c:53:
/tmp/modconfig-1p3hIV/vmnet-only/vnetInt.h:49:9: warning: "MAX" redefined
   49 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmnet-only/smac_compat.c:33:
./include/linux/minmax.h:330:9: note: this is the location of the previous definition
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmnet-only/vnetUserListener.c:39:
/tmp/modconfig-1p3hIV/vmnet-only/vnetInt.h:49:9: warning: "MAX" redefined
   49 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/jiffies.h:8,
                 from ./include/linux/ktime.h:25,
                 from ./include/linux/timer.h:6,
                 from ./include/linux/netdevice.h:24,
                 from /tmp/modconfig-1p3hIV/vmnet-only/vnetUserListener.c:33:
./include/linux/minmax.h:330:9: note: this is the location of the previous definition
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmnet-only/procfs.c:43:
/tmp/modconfig-1p3hIV/vmnet-only/vnetInt.h:49:9: warning: "MAX" redefined
   49 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmnet-only/procfs.c:23:
./include/linux/minmax.h:330:9: note: this is the location of the previous definition
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmnet-only/netif.c:43:
/tmp/modconfig-1p3hIV/vmnet-only/vnetInt.h:49:9: warning: "MAX" redefined
   49 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmnet-only/netif.c:23:
./include/linux/minmax.h:330:9: note: this is the location of the previous definition
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmnet-only/hub.c:43:
/tmp/modconfig-1p3hIV/vmnet-only/vnetInt.h:49:9: warning: "MAX" redefined
   49 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmnet-only/hub.c:23:
./include/linux/minmax.h:330:9: note: this is the location of the previous definition
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmnet-only/userif.c:46:
/tmp/modconfig-1p3hIV/vmnet-only/vnetInt.h:49:9: warning: "MAX" redefined
   49 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from ./include/linux/cpumask.h:11,
                 from ./include/linux/smp.h:13,
                 from ./include/linux/lockdep.h:14,
                 from ./include/linux/spinlock.h:63,
                 from ./include/linux/wait.h:9,
                 from ./include/linux/wait_bit.h:8,
                 from ./include/linux/fs.h:6,
                 from ./include/linux/highmem.h:5,
                 from /tmp/modconfig-1p3hIV/vmnet-only/userif.c:26:
./include/linux/minmax.h:330:9: note: this is the location of the previous definition
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmnet-only/driver.c:48:
/tmp/modconfig-1p3hIV/vmnet-only/vnetInt.h:49:9: warning: "MAX" redefined
   49 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmnet-only/driver.c:23:
./include/linux/minmax.h:330:9: note: this is the location of the previous definition
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
In file included from /tmp/modconfig-1p3hIV/vmnet-only/bridge.c:56:
/tmp/modconfig-1p3hIV/vmnet-only/vnetInt.h:49:9: warning: "MAX" redefined
   49 | #define MAX(_a, _b)   (((_a) > (_b)) ? (_a) : (_b))
      |         ^~~
In file included from ./include/linux/kernel.h:28,
                 from /tmp/modconfig-1p3hIV/vmnet-only/bridge.c:23:
./include/linux/minmax.h:330:9: note: this is the location of the previous definition
  330 | #define MAX(a,b) __cmp(max,a,b)
      |         ^~~
  LD [M]  /tmp/modconfig-1p3hIV/vmnet-only/vmnet.o
  MODPOST /tmp/modconfig-1p3hIV/vmnet-only/Module.symvers
  CC [M]  /tmp/modconfig-1p3hIV/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/modconfig-1p3hIV/vmnet-only/vmnet.ko
make[1]: Leaving directory '/usr/src/linux-6.11-rc2'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-1p3hIV/vmnet-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-1p3hIV/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory '/tmp/modconfig-1p3hIV/vmnet-only'

Starting vmware (via systemctl): [ OK ]

For reference, GCC is 14.2.1 and with Kernel 6.10.3 everything compiles cleanly.. Despite the warnings, VMware appears to function correctly..

mvrk69 commented 3 months ago

Hi,

Which patch you used?

rgadsdon commented 3 months ago

The latest(?) patch, from https://github.com/nan0desu/vmware-host-modules/tree/tmp/workstation-17.5.2-k6.9-sharishth