summaryrefslogtreecommitdiff
path: root/x11-base/xorg-server/files
diff options
context:
space:
mode:
Diffstat (limited to 'x11-base/xorg-server/files')
-rw-r--r--x11-base/xorg-server/files/xorg-server-21.1.4-BadIDChoice.patch59
1 files changed, 0 insertions, 59 deletions
diff --git a/x11-base/xorg-server/files/xorg-server-21.1.4-BadIDChoice.patch b/x11-base/xorg-server/files/xorg-server-21.1.4-BadIDChoice.patch
deleted file mode 100644
index def3c587..00000000
--- a/x11-base/xorg-server/files/xorg-server-21.1.4-BadIDChoice.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-https://bugs.gentoo.org/857483
-https://gitlab.freedesktop.org/xorg/xserver/-/issues/1310
-https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/953
-
-From f61307631203ab0266c035db07c2f776cf7c6cf4 Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Tue, 12 Jul 2022 14:44:48 +0200
-Subject: [PATCH] dix: Fix overzealous caching of ResourceClientBits()
-
-Commit c7311654 cached the value of ResourceClientBits(), but that value
-depends on the `MaxClients` value set either from the command line or
-from the configuration file.
-
-For the latter, a call to ResourceClientBits() is issued before the
-configuration file is read, meaning that the cached value is from the
-default, not from the maximum number of clients set in the configuration
-file.
-
-That obviously causes all sort of issues, including memory corruption
-and crashes of the Xserver when reaching the default limit value.
-
-To avoid that issue, also keep the LimitClient value, and recompute the
-ilog2() value if that changes, as on startup when the value is set from
-the the xorg.conf ServerFlags section.
-
-v2: Drop the `cache == 0` test
- Rename cache vars
-
-Fixes: c7311654 - dix: cache ResourceClientBits() value
-Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1310
-Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
-Reviewed-by: Adam Jackson <ajax@redhat.com>
-(cherry picked from commit 2efa6d659508346358a1ef27b2393e18843f66a3)
---- a/dix/resource.c
-+++ b/dix/resource.c
-@@ -620,12 +620,15 @@ ilog2(int val)
- unsigned int
- ResourceClientBits(void)
- {
-- static unsigned int cached = 0;
-+ static unsigned int cache_ilog2 = 0;
-+ static unsigned int cache_limit = 0;
-
-- if (cached == 0)
-- cached = ilog2(LimitClients);
-+ if (LimitClients != cache_limit) {
-+ cache_limit = LimitClients;
-+ cache_ilog2 = ilog2(LimitClients);
-+ }
-
-- return cached;
-+ return cache_ilog2;
- }
-
- /*****************
---
-GitLab
-
-