Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Sep 2010 12:00:55 GMT
From:      Fumiyuki Shimizu <fumifumi@abacustech.jp>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/150913: [PATCH] emulators/open-vm-tools: vmware-user-suid-wrapper failes to load vmblock.ko
Message-ID:  <201009241200.o8OC0tjH001933@www.freebsd.org>
Resent-Message-ID: <201009241210.o8OCA2nH034360@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         150913
>Category:       ports
>Synopsis:       [PATCH] emulators/open-vm-tools: vmware-user-suid-wrapper failes to load vmblock.ko
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 24 12:10:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Fumiyuki Shimizu
>Release:        8.1-RELEASE-p1
>Organization:
Abacus Technologies, Inc.
>Environment:
Guest OS: FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010     root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
vmware-user-suid-wrapper unloads vmblock.ko successfully, then fails to reload it.
Clipboard sharing does not work, although vmware-user is running.

>How-To-Repeat:
> sudo chmod u=xs,go=x /usr/local/bin/vmware-user-suid-wrapper
> kldstat -m vmblock
Id  Refs Name
458    1 vmblock
> /usr/local/bin/vmware-user-suid-wrapper
vmware-user: failed to load vmblock: No such file or directory
vmware-user: failed to start vmblock
> kldstat -m vmblock
kldstat: can't find module vmblock: No such file or directory.

>Fix:
vmblock.ko is not loadable as 'vmblock,' since kernel modules are not installed on the default path by this port, politely.
A quick fix for 'patch -p1' is attached. It also fixes the location of a file for pkg-config.

Thank you.


Patch attached with submission follows:

diff -aruN open-vm-tools/files/patch-libguestlib open-vm-tools.suid-wrapper/files/patch-libguestlib
--- open-vm-tools/files/patch-libguestlib	1970-01-01 09:00:00.000000000 +0900
+++ open-vm-tools.suid-wrapper/files/patch-libguestlib	2010-09-24 19:20:20.000000000 +0900
@@ -0,0 +1,22 @@
+--- libguestlib/Makefile.am.orig	2010-04-28 03:17:28.000000000 +0900
++++ libguestlib/Makefile.am	2010-09-24 18:20:10.000000000 +0900
+@@ -41,7 +41,7 @@
+ 
+ EXTRA_DIST = vmguestlib.pc.in
+ 
+-pkgconfigdir   = $(libdir)/pkgconfig
++pkgconfigdir   = $(DESTDIR)$(prefix)/libdata/pkgconfig
+ pkgconfig_DATA = vmguestlib.pc
+ 
+ $(pkgconfig_DATA): $(top_builddir)/config.status
+--- libguestlib/Makefile.in.orig	2010-09-24 18:26:41.536002000 +0900
++++ libguestlib/Makefile.in	2010-09-24 18:32:51.000000000 +0900
+@@ -298,7 +298,7 @@
+ 	$(top_srcdir)/lib/include/vmSessionId.h \
+ 	$(top_srcdir)/lib/include/vm_basic_types.h
+ EXTRA_DIST = vmguestlib.pc.in
+-pkgconfigdir = $(libdir)/pkgconfig
++pkgconfigdir = $(DESTDIR)$(prefix)/libdata/pkgconfig
+ pkgconfig_DATA = vmguestlib.pc
+ all: all-am
+ 
diff -aruN open-vm-tools/files/patch-suid-wrapper open-vm-tools.suid-wrapper/files/patch-suid-wrapper
--- open-vm-tools/files/patch-suid-wrapper	1970-01-01 09:00:00.000000000 +0900
+++ open-vm-tools.suid-wrapper/files/patch-suid-wrapper	2010-09-24 19:16:15.000000000 +0900
@@ -0,0 +1,37 @@
+--- vmware-user-suid-wrapper/Makefile.am.orig	2010-04-28 03:17:29.000000000 +0900
++++ vmware-user-suid-wrapper/Makefile.am	2010-09-24 19:08:19.000000000 +0900
+@@ -20,9 +20,10 @@
+ # We shouldn't impose on users' installation preferences, so just provide
+ # a sane default and let them override it at configure or make time.
+ VMWARE_USER_PATH = $(bindir)/vmware-user
++VMWARE_KMOD_DIR = $(libdir)/vmware-tools/modules/drivers
+ 
+ AM_CPPFLAGS =
+-AM_CPPFLAGS += -DVMWARE_USER_PATH=\"$(VMWARE_USER_PATH)\"
++AM_CPPFLAGS += -DVMWARE_USER_PATH=\"$(VMWARE_USER_PATH)\" -DVMWARE_KMOD_DIR=\"$(VMWARE_KMOD_DIR)\"
+ 
+ vmware_user_suid_wrapper_SOURCES =
+ vmware_user_suid_wrapper_SOURCES += main.c
+--- vmware-user-suid-wrapper/Makefile.in.orig	2010-04-28 03:18:20.000000000 +0900
++++ vmware-user-suid-wrapper/Makefile.in	2010-09-24 19:08:58.000000000 +0900
+@@ -275,7 +275,8 @@
+ # We shouldn't impose on users' installation preferences, so just provide
+ # a sane default and let them override it at configure or make time.
+ VMWARE_USER_PATH = $(bindir)/vmware-user
+-AM_CPPFLAGS = -DVMWARE_USER_PATH=\"$(VMWARE_USER_PATH)\"
++VMWARE_KMOD_DIR = $(libdir)/vmware-tools/modules/drivers
++AM_CPPFLAGS = -DVMWARE_USER_PATH=\"$(VMWARE_USER_PATH)\" -DVMWARE_KMOD_DIR=\"$(VMWARE_KMOD_DIR)\"
+ vmware_user_suid_wrapper_SOURCES = main.c wrapper-@TARGET_OS@.c
+ vmware_user_suid_wrapper_LDADD = ../lib/vmSignal/libVmSignal.la
+ all: all-am
+--- vmware-user-suid-wrapper/wrapper-freebsd.c.orig	2010-04-28 03:17:29.000000000 +0900
++++ vmware-user-suid-wrapper/wrapper-freebsd.c	2010-09-24 19:14:45.000000000 +0900
+@@ -116,7 +116,7 @@
+    /*
+     * Kldload(2) will handle module search paths for us.
+     */
+-   if (kldload(MODULE_NAME) == -1) {
++   if (kldload(VMWARE_KMOD_DIR "/" MODULE_NAME ".ko") == -1) {
+       Error("failed to load vmblock: %s\n", strerror(errno));
+       return FALSE;
+    }
diff -aruN open-vm-tools/pkg-plist open-vm-tools.suid-wrapper/pkg-plist
--- open-vm-tools/pkg-plist	2010-06-07 04:31:13.000000000 +0900
+++ open-vm-tools.suid-wrapper/pkg-plist	2010-09-24 17:53:25.000000000 +0900
@@ -23,7 +23,7 @@
 lib/libguestlib.la
 lib/libguestlib.so
 lib/libguestlib.so.0
-lib/pkgconfig/vmguestlib.pc
+libdata/pkgconfig/vmguestlib.pc
 lib/vmware-tools/modules/drivers/linker.hints
 lib/vmware-tools/modules/drivers/vmblock.ko
 lib/vmware-tools/modules/drivers/vmhgfs.ko


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009241200.o8OC0tjH001933>