Red Hat Bugzilla – Bug 108929
2.6.0-0.test9 patch fundamentally breaks vmware
Last modified: 2007-04-18 12:59:04 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
Description of problem:
(Note: I know that vmware is neither shipped nor supported by RedHat.
Please read on).
It seems that one RedHat patch to the current 2.6.0-test9 kernel makes
it all but impossible to use vmware on these kernels. Since vmware is
a very useful product for a lot of people, I'd be happy if you'd take
a look at it.
The patch in question is "linux-2.6.0-compile.patch", changing the
argument passing to functions.
The usenet tread describing the problem can be found at
An analysis can be found in this article (part of the thread mentioned
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Try to compile the vmmon driver on 2.6.0-test9
The problem really is with vmware; their makefile is broken (for 2.6
kernels). If they used a proper makefile it would JustWork(tm).
I am by no means a kernel hacker, but reading the thread above it
seems to me that some of vmware's assembler mumbo-jumbo depends on
Whether this is a good idea in itself is another question.
any and all such functions in the kernel have to be marked
"asmlinkage" anyway; if vmware did that correctly it'd just work.
And what is correct Makefile? I tried:
(cd /usr/src/linux; make SUBDIRS=$PWD modules)
obj-m += vmmon.o
rm -f core *.o *.a *.s
and it (1) fails in MODPOST phase, saying that I need all modules
from stock kernel so MODPOST can turn them from .o to .ko, and (2)
does not contain rules for C++ sources.
While I can work around missing C++ rules by copying CFLAGS & so on,
I have no idea how I can change Makefile to build only vmmon.ko,
without building also floppy.ko, rtc.ko, ...
Documentation/kbuild/modules.txt says only "The information herein is
correct but not copmplete", and "Documentation/kbuild/makefiles.txt"
did not point correct solution to me.
And what about second half of complaint (which is only on newsgroup,
not here yet): There is /boot/vmlinux-2.6.0-0.test9.1.67smp -
> /usr/lib/debug/lib/modules/2.6.0-0.test9.1.67/smp/vmlinux symlink
in kernel-smp package, but I was not able to find package which
contains symlink target so that kernel debugging is really possible...
the documented way is to have a file called makefile with
make V=1 -C /lib/modules/`uname -r`/build SUBDIRS=$$PWD modules
in it and a file called Makefile with
obj-m += vmmon.o
the vmlinux file is in the kernel-debuginfo package (which isn't
available on my people site since it's too big so that I go over my
quota and would have to drop the i586 kernels instead)
oh and btw, using /usr/src/linux-* is REALLY not going to work with
the 2.6 rpms anymore, the fact that it "worked" with the 2.4 rpms is
No problem with /usr/src/linux-*, we prefer /lib/modules/... for
years, as long as that directory exists.
But problem is that 'make ... SUBDIRS=$$PWD modules' does not work
If there is .o file anywhere in source tree, and its .ko is out of
date (or does not exist), 'make SUBDIRS=XXX modules' will rebuild not
only .ko in SUBDIRS, but all .ko, in whole kernel source tree. You
can see that Makefile.modpost is invoked with all modules, not only
with modules built in this step.
But as this does not happen unless user did something unusual to his
tree, I think that I'll have to live with it.
the /build tree doesn't have .c files nor .o files so it can't be out
Feel free to close this bug, pointing people to the
http://platan.vc.cvut.cz/ftp/pub/vmware, for vmware-any-any update 44