From 88687de7dd630c2330e9662164a7d00bb88140e2 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 16 Dec 2019 03:01:50 +0000 Subject: x11-base/xorg-server : version bump --- ...ck-the-shm-dir-at-run-time-not-build-time.patch | 174 --------------------- ...1.20.4-shm-Use-memfd_create-when-possible.patch | 89 ----------- ...ndent-shm_tmpfile-to-follow-our-standards.patch | 72 --------- 3 files changed, 335 deletions(-) delete mode 100644 x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch delete mode 100644 x11-base/xorg-server/files/xorg-server-1.20.4-shm-Use-memfd_create-when-possible.patch delete mode 100644 x11-base/xorg-server/files/xorg-server-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch (limited to 'x11-base/xorg-server/files') diff --git a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch deleted file mode 100644 index 54ed6293..00000000 --- a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 19f6cb570becbc4e355807199c6e251fc7935132 Mon Sep 17 00:00:00 2001 -From: Eric Anholt -Date: Wed, 19 Sep 2018 13:28:06 -0700 -Subject: [PATCH xserver] shm: Pick the shm dir at run time, not build time. - -Prodding the builder's filesystem for tmp dirs doesn't necessarily -tell you anything about what the actual host's filesystem is going to -look like, so we should just try the dirs at runtime. - -Signed-off-by: Eric Anholt ---- - Xext/shm.c | 48 +++++++++++++++++++++++++---------------- - configure.ac | 43 ------------------------------------ - include/dix-config.h.in | 3 --- - include/meson.build | 5 ----- - 4 files changed, 29 insertions(+), 70 deletions(-) - -diff --git a/Xext/shm.c b/Xext/shm.c -index ed43b9202..2739a59e7 100644 ---- a/Xext/shm.c -+++ b/Xext/shm.c -@@ -1194,36 +1194,46 @@ ProcShmAttachFd(ClientPtr client) - static int - shm_tmpfile(void) - { --#ifdef SHMDIR -+ const char *shmdirs[] = { -+ "/run/shm", -+ "/var/tmp", -+ "/tmp", -+ }; - int fd; -- char template[] = SHMDIR "/shmfd-XXXXXX"; -+ - #ifdef O_TMPFILE -- fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); -- if (fd >= 0) { -- DebugF ("Using O_TMPFILE\n"); -- return fd; -+ for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) { -+ fd = open(shmdirs[i], O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); -+ if (fd >= 0) { -+ DebugF ("Using O_TMPFILE\n"); -+ return fd; -+ } - } - ErrorF ("Not using O_TMPFILE\n"); - #endif -+ -+ for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) { -+ char template[PATH_MAX]; -+ snprintf(template, ARRAY_SIZE(template), "%s/shmfd-XXXXXX", shmdirs[i]); - #ifdef HAVE_MKOSTEMP -- fd = mkostemp(template, O_CLOEXEC); -+ fd = mkostemp(template, O_CLOEXEC); - #else -- fd = mkstemp(template); -+ fd = mkstemp(template); - #endif -- if (fd < 0) -- return -1; -- unlink(template); -+ if (fd < 0) -+ continue; -+ unlink(template); - #ifndef HAVE_MKOSTEMP -- int flags = fcntl(fd, F_GETFD); -- if (flags != -1) { -- flags |= FD_CLOEXEC; -- (void) fcntl(fd, F_SETFD, &flags); -- } -+ int flags = fcntl(fd, F_GETFD); -+ if (flags != -1) { -+ flags |= FD_CLOEXEC; -+ (void) fcntl(fd, F_SETFD, &flags); -+ } - #endif -- return fd; --#else -+ return fd; -+ } -+ - return -1; --#endif - } - - static int -diff --git a/configure.ac b/configure.ac -index 359b62cb5..57a233102 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1115,49 +1115,6 @@ case "$DRI2,$HAVE_DRI2PROTO" in - esac - AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes) - --dnl --dnl Locate a suitable tmp file system for creating shared memeory files --dnl -- --AC_ARG_WITH(shared-memory-dir, AS_HELP_STRING([--with-shared-memory-dir=PATH], [Path to directory in a world-writable temporary directory for anonymous shared memory (default: auto)]), --[], --[with_shared_memory_dir=yes]) -- --shmdirs="/run/shm /var/tmp /tmp" -- --case x"$with_shared_memory_dir" in --xyes) -- for dir in $shmdirs; do -- case x"$with_shared_memory_dir" in -- xyes) -- echo Checking temp dir "$dir" -- if test -d "$dir"; then -- with_shared_memory_dir="$dir" -- fi -- ;; -- esac -- done -- ;; --x/*) -- ;; --xno) -- ;; --*) -- AC_MSG_ERROR([Invalid directory specified for --with-shared-memory-dir: $with_shared_memory_dir]) -- ;; --esac -- --case x"$with_shared_memory_dir" in --xyes) -- AC_MSG_ERROR([No directory found for shared memory temp files.]) -- ;; --xno) -- ;; --*) -- AC_DEFINE_UNQUOTED(SHMDIR, ["$with_shared_memory_dir"], [Directory for shared memory temp files]) -- ;; --esac -- - AC_ARG_ENABLE(xtrans-send-fds, AS_HELP_STRING([--disable-xtrans-send-fds], [Use Xtrans support for fd passing (default: auto)]), [XTRANS_SEND_FDS=$enableval], [XTRANS_SEND_FDS=auto]) - - case "x$XTRANS_SEND_FDS" in -diff --git a/include/dix-config.h.in b/include/dix-config.h.in -index f8df86608..3bd22b8bb 100644 ---- a/include/dix-config.h.in -+++ b/include/dix-config.h.in -@@ -452,9 +452,6 @@ - /* Wrap SIGBUS to catch MIT-SHM faults */ - #undef BUSFAULT - --/* Directory for shared memory temp files */ --#undef SHMDIR -- - /* Don't let Xdefs.h define 'pointer' */ - #define _XTYPEDEF_POINTER 1 - -diff --git a/include/meson.build b/include/meson.build -index 4a0c12f5a..04c41e999 100644 ---- a/include/meson.build -+++ b/include/meson.build -@@ -91,11 +91,6 @@ conf_data.set('SYSTEMD_LOGIND', build_systemd_logind) - conf_data.set('NEED_DBUS', build_systemd_logind or build_hal) - conf_data.set('CONFIG_WSCONS', host_machine.system() == 'openbsd') - --# XXX: SHMDIR is weird in autoconf, probing the build system for --# various tmp directories. Could we replace it with C code at runtime --# that just uses whatever directory works? --conf_data.set_quoted('SHMDIR', '/tmp') -- - conf_data.set('HAVE_XSHMFENCE', xshmfence_dep.found()) - conf_data.set('WITH_LIBDRM', libdrm_dep.found()) - conf_data.set('GLAMOR_HAS_EGL_QUERY_DMABUF', --- -2.19.2 - diff --git a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Use-memfd_create-when-possible.patch b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Use-memfd_create-when-possible.patch deleted file mode 100644 index fce25944..00000000 --- a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Use-memfd_create-when-possible.patch +++ /dev/null @@ -1,89 +0,0 @@ -From f6753c117ef0f83499d5e2d6dda226fec9ddf803 Mon Sep 17 00:00:00 2001 -From: Alexander Volkov -Date: Mon, 11 Feb 2019 18:54:10 +0300 -Subject: [PATCH xserver] shm: Use memfd_create when possible - -It doesn't require shared memory dir and thus allows -to avoid cases when this dir is detected incorrectly, -as in https://bugreports.qt.io/browse/QTBUG-71440 - -Signed-off-by: Alexander Volkov ---- - Xext/shm.c | 12 ++++++++++++ - configure.ac | 2 +- - include/dix-config.h.in | 3 +++ - include/meson.build | 1 + - 4 files changed, 17 insertions(+), 1 deletion(-) - -diff --git a/Xext/shm.c b/Xext/shm.c -index 2739a59e7..506fd4df1 100644 ---- a/Xext/shm.c -+++ b/Xext/shm.c -@@ -35,6 +35,9 @@ in this Software without prior written authorization from The Open Group. - #include - #include - #include -+#ifdef HAVE_MEMFD_CREATE -+#include -+#endif - #include - #include - #include -@@ -1201,6 +1204,15 @@ shm_tmpfile(void) - }; - int fd; - -+#ifdef HAVE_MEMFD_CREATE -+ fd = memfd_create("xorg", MFD_CLOEXEC|MFD_ALLOW_SEALING); -+ if (fd != -1) { -+ fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK); -+ DebugF ("Using memfd_create\n"); -+ return fd; -+ } -+#endif -+ - #ifdef O_TMPFILE - for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) { - fd = open(shmdirs[i], O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); -diff --git a/configure.ac b/configure.ac -index 0ca96aeb8..79ff7fa64 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -159,7 +159,7 @@ dnl Checks for library functions. - AC_CHECK_FUNCS([backtrace geteuid getuid issetugid getresuid \ - getdtablesize getifaddrs getpeereid getpeerucred getprogname getzoneid \ - mmap posix_fallocate seteuid shmctl64 strncasecmp vasprintf vsnprintf \ -- walkcontext setitimer poll epoll_create1 mkostemp]) -+ walkcontext setitimer poll epoll_create1 mkostemp memfd_create]) - AC_CONFIG_LIBOBJ_DIR([os]) - AC_REPLACE_FUNCS([reallocarray strcasecmp strcasestr strlcat strlcpy strndup\ - timingsafe_memcmp]) -diff --git a/include/dix-config.h.in b/include/dix-config.h.in -index 855b3d50c..9eb1a924e 100644 ---- a/include/dix-config.h.in -+++ b/include/dix-config.h.in -@@ -128,6 +128,9 @@ - /* Define to 1 if you have the header file. */ - #undef HAVE_LINUX_FB_H - -+/* Define to 1 if you have the `memfd_create' function. */ -+#undef HAVE_MEMFD_CREATE -+ - /* Define to 1 if you have the `mkostemp' function. */ - #undef HAVE_MKOSTEMP - -diff --git a/include/meson.build b/include/meson.build -index 04c41e999..bbd5a6690 100644 ---- a/include/meson.build -+++ b/include/meson.build -@@ -141,6 +141,7 @@ conf_data.set('HAVE_GETPEEREID', cc.has_function('getpeereid')) - conf_data.set('HAVE_GETPEERUCRED', cc.has_function('getpeerucred')) - conf_data.set('HAVE_GETPROGNAME', cc.has_function('getprogname')) - conf_data.set('HAVE_GETZONEID', cc.has_function('getzoneid')) -+conf_data.set('HAVE_MEMFD_CREATE', cc.has_function('memfd_create')) - conf_data.set('HAVE_MKOSTEMP', cc.has_function('mkostemp')) - conf_data.set('HAVE_MMAP', cc.has_function('mmap')) - conf_data.set('HAVE_POLL', cc.has_function('poll')) --- -2.19.2 - diff --git a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch deleted file mode 100644 index 1ce9e130..00000000 --- a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 804a9b4f57107fa2d0ed1ae0becda5bebaffe6e1 Mon Sep 17 00:00:00 2001 -From: Eric Anholt -Date: Wed, 19 Sep 2018 13:20:12 -0700 -Subject: [PATCH xserver] shm: reindent shm_tmpfile to follow our standards. - -Signed-off-by: Eric Anholt ---- - Xext/shm.c | 40 ++++++++++++++++++++-------------------- - 1 file changed, 20 insertions(+), 20 deletions(-) - -diff --git a/Xext/shm.c b/Xext/shm.c -index 589ed0b4d..ed43b9202 100644 ---- a/Xext/shm.c -+++ b/Xext/shm.c -@@ -1195,34 +1195,34 @@ static int - shm_tmpfile(void) - { - #ifdef SHMDIR -- int fd; -- char template[] = SHMDIR "/shmfd-XXXXXX"; -+ int fd; -+ char template[] = SHMDIR "/shmfd-XXXXXX"; - #ifdef O_TMPFILE -- fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); -- if (fd >= 0) { -- DebugF ("Using O_TMPFILE\n"); -- return fd; -- } -- ErrorF ("Not using O_TMPFILE\n"); -+ fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); -+ if (fd >= 0) { -+ DebugF ("Using O_TMPFILE\n"); -+ return fd; -+ } -+ ErrorF ("Not using O_TMPFILE\n"); - #endif - #ifdef HAVE_MKOSTEMP -- fd = mkostemp(template, O_CLOEXEC); -+ fd = mkostemp(template, O_CLOEXEC); - #else -- fd = mkstemp(template); -+ fd = mkstemp(template); - #endif -- if (fd < 0) -- return -1; -- unlink(template); -+ if (fd < 0) -+ return -1; -+ unlink(template); - #ifndef HAVE_MKOSTEMP -- int flags = fcntl(fd, F_GETFD); -- if (flags != -1) { -- flags |= FD_CLOEXEC; -- (void) fcntl(fd, F_SETFD, &flags); -- } -+ int flags = fcntl(fd, F_GETFD); -+ if (flags != -1) { -+ flags |= FD_CLOEXEC; -+ (void) fcntl(fd, F_SETFD, &flags); -+ } - #endif -- return fd; -+ return fd; - #else -- return -1; -+ return -1; - #endif - } - --- -2.19.2 - -- cgit v1.2.3