Summary: | app-emulation/open-vm-tools-kmod-2013.04.16.1098359 - .../work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c:138:32: error: incompatible types when assigning to type ‘kgid_t’ from type ‘int’ | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Arnim Eijkhoudt <penguin> |
Component: | Hardened | Assignee: | Gentoo VMWare Bug Squashers [disabled] <vmware+disabled> |
Status: | RESOLVED CANTFIX | ||
Severity: | normal | CC: | bug, hardened, mk, zubkom |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Kernel .config |
Description
Arnim Eijkhoudt
2013-06-24 20:35:53 UTC
I think if you disable CONFIG_USER_NS this should go away. Can you confirm? I've disabled the User namespaces setting, but it still b0rks in the vmblock kernel module: [...] make[1]: Entering directory `/usr/src/linux-3.9.7-hardened' CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/filesystem.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/file.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/module.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/super.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/control.o /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/control.c: In function ‘ExecuteBlockOp’: /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/control.c:285:9: warning: assignment from incompatible pointer type [enabled by default] CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/block.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/stubs.o /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c:49:4: warning: initialization from incompatible pointer type [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c:49:4: warning: (near initialization for ‘RootInodeOps.lookup’) [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c: In function ‘InodeOpLookup’: /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c:138:32: error: incompatible types when assigning to type ‘kgid_t’ from type ‘int’ make[2]: *** [/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c:38:4: warning: initialization from incompatible pointer type [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c:38:4: warning: (near initialization for ‘LinkDentryOps.d_revalidate’) [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c: In function ‘DentryOpRevalidate’: /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c:104:7: warning: passing argument 2 of ‘actualDentry->d_op->d_revalidate’ makes integer from pointer without a cast [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c:104:7: note: expected ‘unsigned int’ but argument is of type ‘struct nameidata *’ make[1]: *** [_module_/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock] Error 2 make[1]: Leaving directory `/usr/src/linux-3.9.7-hardened' make: *** [vmblock.ko] Error 2 [...] On a side-note, but this might be unrelated, I've noticed similar compile failures on ck-kernels as well: [...] make[1]: Entering directory `/usr/src/linux-3.9.7-ck' CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/filesystem.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/file.o /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c:38:4: warning: initialization from incompatible pointer type [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c:38:4: warning: (near initialization for ‘LinkDentryOps.d_revalidate’) [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c: In function ‘DentryOpRevalidate’: /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c:104:7: warning: passing argument 2 of ‘actualDentry->d_op->d_revalidate’ makes integer from pointer without a cast [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/dentry.c:104:7: note: expected ‘unsigned int’ but argument is of type ‘struct nameidata *’ CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/super.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/module.o /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c:49:4: warning: initialization from incompatible pointer type [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c:49:4: warning: (near initialization for ‘RootInodeOps.lookup’) [enabled by default] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c: In function ‘InodeOpLookup’: /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c:138:32: error: incompatible types when assigning to type ‘kgid_t’ from type ‘int’ make[2]: *** [/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [_module_/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock] Error 2 make[1]: Leaving directory `/usr/src/linux-3.9.7-ck' make: *** [vmblock.ko] Error 2 [...] Same here on fresh hardened installation: /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c: In function 'InodeOpLookup': /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmblock/linux/inode.c:138:32: error: incompatible types when assigning to type 'kgid_t' from type 'int' Disabling CONFIG_USER_NS does NOT make sense to above error. Can confirm for hardened kernel 3.9.9 w/o CONFIG_USER_NS. I can confirm disable CONFIG_USER_NS for kernel 3.10.7-gentoo-r1 doesn't help. My ERROR log: CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmhgfs/bdhandler.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmhgfs/fsutil.o /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmhgfs/file.c: In function 'HgfsAioRead': /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmhgfs/file.c:754:32: error: dereferencing pointer to incomplete type /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmhgfs/file.c: In function 'HgfsAioWrite': /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmhgfs/file.c:803:32: error: dereferencing pointer to incomplete type make[2]: *** [/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmhgfs/file.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [_module_/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.04.16.1098359/work/open-vm-tools-2013.04.16-1098359/modules/linux/vmhgfs] Error 2 make[1]: Leaving directory `/usr/src/linux-3.10.7-gentoo-r1' make: *** [vmhgfs.ko] Error 2 * ERROR: app-emulation/open-vm-tools-kmod-2013.04.16.1098359::gentoo failed (compile phase): * emake failed * http://sourceforge.net/p/open-vm-tools/mailman/message/30762051/ * vmblock driver is disabled on kernels 3.0+. Update: compile still fails on the same problem with latest open-vm-tools-kmod-2013.09.16.1328054. (In reply to Arnim Eijkhoudt from comment #7) > Update: compile still fails on the same problem with latest > open-vm-tools-kmod-2013.09.16.1328054. Attach a new log please. No problem, here is the emerge log. I commented to this bugreport because it fails on a similar error with the ck-sources, so it might just need a similar fix... If I need to file a separate report for this, let me know. Thanks in advance for your time! >>> Emerging (1 of 1) app-emulation/open-vm-tools-kmod-2013.09.16.1328054 * open-vm-tools-2013.09.16-1328054.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ] * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found kernel object directory: * /lib/modules/3.9.11-ck/build * Found sources for kernel version: * 3.9.11-ck * Checking for suitable kernel configuration options... [ ok ] >>> Unpacking source... >>> Unpacking open-vm-tools-2013.09.16-1328054.tar.gz to /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work >>> Source unpacked in /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work >>> Preparing source in /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054 ... * Applying vmhgfs-linux-3.11.patch ... [ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054 ... >>> Source configured. >>> Compiling source in /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054 ... * Preparing vmxnet module make -j3 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- 'LDFLAGS=-m elf_x86_64' auto-build Using kernel build system. make -C /lib/modules/3.9.11-ck/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/linux-3.9.11-ck' CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmxnet/vmxnet.o Building modules, stage 2. MODPOST 1 modules CC /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmxnet/vmxnet.mod.o LD [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmxnet/vmxnet.ko make[1]: Leaving directory `/usr/src/linux-3.9.11-ck' make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmxnet' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmxnet' cp -f vmxnet.ko ./../vmxnet.o * Preparing vmhgfs module make -j3 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- 'LDFLAGS=-m elf_x86_64' auto-build Using kernel build system. make -C /lib/modules/3.9.11-ck/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/linux-3.9.11-ck' CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs/request.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs/filesystem.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs/stubs.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs/link.o CC [M] /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs/transport.o /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs/filesystem.c: In function ‘HgfsInitSuperInfo’: /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs/filesystem.c:234:15: error: incompatible types when assigning to type ‘uid_t’ from type ‘kuid_t’ si->uid = current_uid(); ^ /var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs/filesystem.c:240:15: error: incompatible types when assigning to type ‘gid_t’ from type ‘kgid_t’ si->gid = current_gid(); ^ make[2]: *** [/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs/filesystem.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [_module_/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs] Error 2 make[1]: Leaving directory `/usr/src/linux-3.9.11-ck' make: *** [vmhgfs.ko] Error 2 * ERROR: app-emulation/open-vm-tools-kmod-2013.09.16.1328054::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=app-emulation/open-vm-tools-kmod-2013.09.16.1328054::gentoo'`, * the complete build log and the output of `emerge -pqv '=app-emulation/open-vm-tools-kmod-2013.09.16.1328054::gentoo'`. * The complete build log is located at '/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/temp/environment'. * Working directory: '/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs' * S: '/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054' >>> Failed to emerge app-emulation/open-vm-tools-kmod-2013.09.16.1328054, Log file: >>> '/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/temp/build.log' * Messages for package app-emulation/open-vm-tools-kmod-2013.09.16.1328054: * ERROR: app-emulation/open-vm-tools-kmod-2013.09.16.1328054::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=app-emulation/open-vm-tools-kmod-2013.09.16.1328054::gentoo'`, * the complete build log and the output of `emerge -pqv '=app-emulation/open-vm-tools-kmod-2013.09.16.1328054::gentoo'`. * The complete build log is located at '/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/temp/environment'. * Working directory: '/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054/modules/linux/vmhgfs' * S: '/var/tmp/portage/app-emulation/open-vm-tools-kmod-2013.09.16.1328054/work/open-vm-tools-2013.09.16-1328054' Ah, so it is failing on vmhgfs rather than vmblock. It also looks like you are using ck-sources rather than hardened sources. Correct? Can you attach your kernel config file? Created attachment 361668 [details]
Kernel .config
Yes, this is indeed for the ck-sources. As stated, I hope this is an appropriate place to post this as the error is remarkably similar to the original one for the hardened-sources. I have attached the kernel .config.
Try setting CONFIG_UIDGID_STRICT_TYPE_CHECKS to n. This appears as "Require conversions between uid/gids and their internal representation" in menuconfig. Thank you! That fixes it perfectly, not a single warning/error comes up now! To summarize for people skipping to the end, the solution for this (similar) problem with ck-sources: CONFIG_UIDGID_STRICT_TYPE_CHECKS=n Can this be marked as resolved now? + 22 Oct 2013; Mike Gilbert <floppym@gentoo.org> + open-vm-tools-kmod-2013.09.16.1328054.ebuild, + open-vm-tools-kmod-9.4.0.1280544.ebuild: + vmhgfs does not compile with CONFIG_UIDGID_STRICT_TYPE_CHECKS, bug 474636. Another note to anyone who may be reading this a year from now: Do not directly modify .config; do it via make config or make menuconfig, or you may end up invalidating your configuration. For example, CONFIG_UIDGID_STRICT_TYPE_CHECKS is forced to y by CONFIG_USER_NS. |