diff --git a/packages/sysutils/open-vm-tools/package.mk b/packages/sysutils/open-vm-tools/package.mk index 3b53e0d9ff..3c96ef01ae 100644 --- a/packages/sysutils/open-vm-tools/package.mk +++ b/packages/sysutils/open-vm-tools/package.mk @@ -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" diff --git a/packages/sysutils/open-vm-tools/patches/open-vm-tools-0001-fix-issue-429.patch b/packages/sysutils/open-vm-tools/patches/open-vm-tools-0001-fix-issue-429.patch new file mode 100644 index 0000000000..2f4e69e17a --- /dev/null +++ b/packages/sysutils/open-vm-tools/patches/open-vm-tools-0001-fix-issue-429.patch @@ -0,0 +1,31 @@ +From 9cbdf3a6e2cb23a7673fe19b2a3f888714095019 Mon Sep 17 00:00:00 2001 +From: Oliver Kurth +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 + } diff --git a/packages/sysutils/open-vm-tools/patches/open-vm-tools-0002-fix-issue-429.patch b/packages/sysutils/open-vm-tools/patches/open-vm-tools-0002-fix-issue-429.patch new file mode 100644 index 0000000000..def8c54cd4 --- /dev/null +++ b/packages/sysutils/open-vm-tools/patches/open-vm-tools-0002-fix-issue-429.patch @@ -0,0 +1,23 @@ +From bb11e038323893d2428eb2ce94f8742233b45546 Mon Sep 17 00:00:00 2001 +From: Oliver Kurth +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 { diff --git a/packages/sysutils/open-vm-tools/patches/open-vm-tools-0003-fix-issue-429.patch b/packages/sysutils/open-vm-tools/patches/open-vm-tools-0003-fix-issue-429.patch new file mode 100644 index 0000000000..96f48755fb --- /dev/null +++ b/packages/sysutils/open-vm-tools/patches/open-vm-tools-0003-fix-issue-429.patch @@ -0,0 +1,64 @@ +From 0cfda58aaa8bc0fea56f1211897e7f2237f6070a Mon Sep 17 00:00:00 2001 +From: Oliver Kurth +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 + } ++ diff --git a/packages/sysutils/open-vm-tools/patches/open-vm-tools-001-fix-deprecated-glib-funcs.patch b/packages/sysutils/open-vm-tools/patches/open-vm-tools-001-fix-deprecated-glib-funcs.patch deleted file mode 100644 index 0efae9a0a3..0000000000 --- a/packages/sysutils/open-vm-tools/patches/open-vm-tools-001-fix-deprecated-glib-funcs.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 7ec4955072f3f93dd4b5821c9688bc524a089087 Mon Sep 17 00:00:00 2001 -From: Oliver Kurth -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 - #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 -