open-vm-tools: update to open-vm-tools-stable-11.1.0

This commit is contained in:
MilhouseVH 2020-06-21 03:31:48 +01:00 committed by Jernej Skrabec
parent 80c1c21865
commit f1d58c8d4b
5 changed files with 120 additions and 92 deletions

View File

@ -4,8 +4,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="open-vm-tools"
PKG_VERSION="stable-11.0.5"
PKG_SHA256="f4300d8ccf665a3ff435476bc372a3f189a98c2b830730608d4286226802bd97"
PKG_VERSION="stable-11.1.0"
PKG_SHA256="5930448c65cf298e3dded2a3670750f4affaf3a631500a1774eeb4cfe0a32b80"
PKG_ARCH="x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/vmware/open-vm-tools"

View File

@ -0,0 +1,31 @@
From 9cbdf3a6e2cb23a7673fe19b2a3f888714095019 Mon Sep 17 00:00:00 2001
From: Oliver Kurth <okurth@vmware.com>
Date: Wed, 1 Apr 2020 11:31:36 -0700
Subject: [PATCH] Add a Coverity annotation.
The Coverity scan of open-vm-tools reports an out-of-bounds access
issue in Util_BacktraceWithFunc. This is intentional, to compute
the base pointer for a stack trace.
---
lib/user/utilBacktrace.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/user/utilBacktrace.c b/lib/user/utilBacktrace.c
index dca33d267..e1259606f 100644
--- a/lib/user/utilBacktrace.c
+++ b/lib/user/utilBacktrace.c
@@ -1,5 +1,5 @@
/*********************************************************
- * Copyright (C) 2013-2019 VMware, Inc. All rights reserved.
+ * Copyright (C) 2013-2020 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
@@ -438,6 +438,7 @@ Util_BacktraceWithFunc(int bugNr, // IN:
} else {
outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
}
+ /* coverity[ptr_arith] */
UtilBacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData);
#endif
}

View File

@ -0,0 +1,23 @@
From bb11e038323893d2428eb2ce94f8742233b45546 Mon Sep 17 00:00:00 2001
From: Oliver Kurth <okurth@vmware.com>
Date: Wed, 10 Jun 2020 12:05:43 -0700
Subject: [PATCH] Changes to common source file not applicable to
open-vm-tools.
---
lib/user/utilBacktrace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/user/utilBacktrace.c b/lib/user/utilBacktrace.c
index e1259606f..998713656 100644
--- a/lib/user/utilBacktrace.c
+++ b/lib/user/utilBacktrace.c
@@ -422,7 +422,7 @@ Util_BacktraceWithFunc(int bugNr, // IN:
for (i = 0; i < frames; i++) {
if (dladdr(callstack[i], &dli)) {
outFunc(outFuncData, "SymBacktrace[%d] rip=%016lx in function %s "
- "in object %s loaded at %#08x\n",
+ "in object %s loaded at %016lx\n",
i, callstack[i], dli.dli_sname, dli.dli_fname,
dli.dli_fbase);
} else {

View File

@ -0,0 +1,64 @@
From 0cfda58aaa8bc0fea56f1211897e7f2237f6070a Mon Sep 17 00:00:00 2001
From: Oliver Kurth <okurth@vmware.com>
Date: Wed, 10 Jun 2020 12:05:46 -0700
Subject: [PATCH] Make peeking back into the stack work for back traces
GCC 10 doesn't like peeking back before the end of an arrary (which
is used to peek into the stack). Fix this.
https://github.com/vmware/open-vm-tools/issues/429
---
lib/user/utilBacktrace.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/lib/user/utilBacktrace.c b/lib/user/utilBacktrace.c
index 998713656..d26d21e7d 100644
--- a/lib/user/utilBacktrace.c
+++ b/lib/user/utilBacktrace.c
@@ -343,7 +343,8 @@ UtilBacktraceFromPointerWithFunc(uintptr_t *basePtr, // IN:
i, x[0], x[1], dli.dli_sname, dli.dli_fname,
dli.dli_fbase);
} else {
- outFunc(outFuncData, "SymBacktrace[%d] %#08x eip %#08x \n", i, x[0], x[1]);
+ outFunc(outFuncData, "SymBacktrace[%d] %#08x eip %#08x \n", i, x[0],
+ x[1]);
}
x = (uintptr_t *) x[0];
}
@@ -394,6 +395,7 @@ Util_Backtrace(int bugNr) // IN
*-----------------------------------------------------------------------------
*/
+
void
Util_BacktraceWithFunc(int bugNr, // IN:
Util_OutputFunc outFunc, // IN:
@@ -413,7 +415,7 @@ Util_BacktraceWithFunc(int bugNr, // IN:
if (bugNr == 0) {
outFunc(outFuncData, "Backtrace:\n");
} else {
- outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
+ outFunc(outFuncData, "Backtrace for bugNr=%d\n", bugNr);
}
frames = backtrace(callstack, ARRAYSIZE(callstack));
for (i = 0; i < frames; i++) {
@@ -431,14 +433,14 @@ Util_BacktraceWithFunc(int bugNr, // IN:
}
}
#else
- uintptr_t *x = (uintptr_t *) &bugNr;
-
if (bugNr == 0) {
outFunc(outFuncData, "Backtrace:\n");
} else {
- outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
+ outFunc(outFuncData, "Backtrace for bugNr=%d\n", bugNr);
}
- /* coverity[ptr_arith] */
- UtilBacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData);
+
+ UtilBacktraceFromPointerWithFunc(__builtin_frame_address(0), outFunc,
+ outFuncData);
#endif
}
+

View File

@ -1,90 +0,0 @@
From 7ec4955072f3f93dd4b5821c9688bc524a089087 Mon Sep 17 00:00:00 2001
From: Oliver Kurth <okurth@vmware.com>
Date: Mon, 30 Sep 2019 16:24:27 -0700
Subject: [PATCH] GitHub Issue #367. Remove references to deprecated
G_INLINE_FUNC.
G_INLINE_FUNC was a work-around for compilers that didn't support
static inline. Change uses of it to static inline.
---
lib/include/vmware/tools/plugin.h | 2 +-
lib/include/vmware/tools/threadPool.h | 8 ++++----
lib/include/vmware/tools/utils.h | 9 ---------
3 files changed, 5 insertions(+), 14 deletions(-)
diff --git a/lib/include/vmware/tools/plugin.h b/lib/include/vmware/tools/plugin.h
index f9acc6a..deefd1f 100644
--- a/lib/include/vmware/tools/plugin.h
+++ b/lib/include/vmware/tools/plugin.h
@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx {
*
* @return TRUE if COM is initialized when the function returns.
*/
-G_INLINE_FUNC gboolean
+static inline gboolean
ToolsCore_InitializeCOM(ToolsAppCtx *ctx)
{
if (!ctx->comInitialized) {
diff --git a/lib/include/vmware/tools/threadPool.h b/lib/include/vmware/tools/threadPool.h
index 3f2082b..5880fbc 100644
--- a/lib/include/vmware/tools/threadPool.h
+++ b/lib/include/vmware/tools/threadPool.h
@@ -91,7 +91,7 @@ typedef struct ToolsCorePool {
*******************************************************************************
*/
-G_INLINE_FUNC ToolsCorePool *
+static inline ToolsCorePool *
ToolsCorePool_GetPool(ToolsAppCtx *ctx)
{
ToolsCorePool *pool = NULL;
@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
*******************************************************************************
*/
-G_INLINE_FUNC guint
+static inline guint
ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
ToolsCorePoolCb cb,
gpointer data,
@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
*******************************************************************************
*/
-G_INLINE_FUNC void
+static inline void
ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
guint taskId)
{
@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
*******************************************************************************
*/
-G_INLINE_FUNC gboolean
+static inline gboolean
ToolsCorePool_StartThread(ToolsAppCtx *ctx,
const gchar *threadName,
ToolsCorePoolCb cb,
diff --git a/lib/include/vmware/tools/utils.h b/lib/include/vmware/tools/utils.h
index f657459..a3292d5 100644
--- a/lib/include/vmware/tools/utils.h
+++ b/lib/include/vmware/tools/utils.h
@@ -51,15 +51,6 @@
# include <sys/time.h>
#endif
-
-/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
-#if defined(G_PLATFORM_WIN32)
-# if defined(G_INLINE_FUNC)
-# undef G_INLINE_FUNC
-# endif
-# define G_INLINE_FUNC static __inline
-#endif
-
#ifndef ABS
# define ABS(x) (((x) >= 0) ? (x) : -(x))
#endif
--
2.7.4