Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xorg-x11-server for openSUSE:Factory checked in at 2021-12-16 21:18:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old) and /work/SRC/openSUSE:Factory/.xorg-x11-server.new.2520 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xorg-x11-server" Thu Dec 16 21:18:58 2021 rev:400 rq:940758 version:21.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes 2021-12-06 23:59:44.260488974 +0100 +++ /work/SRC/openSUSE:Factory/.xorg-x11-server.new.2520/xorg-x11-server.changes 2021-12-16 21:19:42.194530166 +0100 @@ -1,0 +2,54 @@ +Wed Dec 15 15:08:07 UTC 2021 - Stefan Dirsch <sndir...@suse.com> + +- Update to version 21.1.1 + * This release fixes 4 recently reported security vulnerabilities and + several regressions. + * In particular, the real physical dimensions are no longer reported + by the X server anymore as it was deemed to be a too disruptive + change. X server will continue to report DPI as 96. +- supersedes U_hw-xfree86-Propagate-physical-dimensions-from-DRM-co.patch +- supersedes U_rendercompositeglyphs.patch +- supersedes U_xfixes-Fix-out-of-bounds-access-in-ProcXFixesCreateP.patch +- supersedes U_Xext-Fix-out-of-bounds-access-in-SProcScreenSaverSus.patch +- supersedes U_record-Fix-out-of-bounds-access-in-SwapCreateRegiste.patch + +------------------------------------------------------------------- +Tue Dec 14 20:21:19 UTC 2021 - Stefan Dirsch <sndir...@suse.com> + +- U_xfixes-Fix-out-of-bounds-access-in-ProcXFixesCreateP.patch + * CVE-2021-4009/ZDI-CAN-14950 (bsc#1190487) + The handler for the CreatePointerBarrier request of the XFixes + extension does not properly validate the request length leading + to out of bounds memory write. +- U_Xext-Fix-out-of-bounds-access-in-SProcScreenSaverSus.patch + * CVE-2021-4010/ZDI-CAN-14951 (bsc#1190488) + The handler for the Suspend request of the Screen Saver extension + does not properly validate the request length leading to out of + bounds memory write. +- U_record-Fix-out-of-bounds-access-in-SwapCreateRegiste.patch + * CVE-2021-4011/ZDI-CAN-14952 (bsc#1190489) + The handlers for the RecordCreateContext and RecordRegisterClients + requests of the Record extension do not properly validate the request + length leading to out of bounds memory write. + +------------------------------------------------------------------- +Tue Dec 14 15:31:41 UTC 2021 - Stefan Dirsch <sndir...@suse.com> + +- U_rendercompositeglyphs.patch + * X.Org Server SProcRenderCompositeGlyphs Out-Of-Bounds Access + Privilege Escalation Vulnerability [CVE-2021-4008, ZDI-CAN-14192] + (boo#1193030) + +------------------------------------------------------------------- +Tue Dec 14 14:14:45 UTC 2021 - Thomas Zimmermann <tzimmerm...@suse.de> + +- u_Support-configuration-files-under-run-X11-xorg.conf..patch +- u_Add-udev-scripts-for-configuration-of-platform-devic.patch +- u_Add-udev-rule-for-HyperV-devices.patch + * Remove udev-based configuration +- u_Revert-xf86-Accept-devices-with-the-simpledrm-driver.patch + * Restore simpledrm workaround +- u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch + * Add workaround to support hyperv_drm + +------------------------------------------------------------------- @@ -5 +59 @@ - * Fix SEGFAULT when parsing bus IDs of NULL + * Fix SEGFAULT when parsing bus IDs of NULL (boo#1193250) @@ -8 +62 @@ - configuration files via udev. + configuration files via udev. (boo#1193250) @@ -10 +64 @@ - * Generate configuration files for platform devices + * Generate configuration files for platform devices (boo#1193250) @@ -12 +66 @@ - * Code has been obsoleted by udev patchset + * Code has been obsoleted by udev patchset (boo#1193250) @@ -14 +68 @@ - * Same as for platform devices, but on HyperV + * Same as for platform devices, but on HyperV (boo#1193250) Old: ---- U_hw-xfree86-Propagate-physical-dimensions-from-DRM-co.patch u_Add-udev-rule-for-HyperV-devices.patch u_Add-udev-scripts-for-configuration-of-platform-devic.patch u_Revert-xf86-Accept-devices-with-the-simpledrm-driver.patch u_Support-configuration-files-under-run-X11-xorg.conf..patch xorg-server-21.1.1.tar.xz New: ---- u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch xorg-server-21.1.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-server.spec ++++++ --- /var/tmp/diff_new_pack.Xdul0S/_old 2021-12-16 21:19:43.158530533 +0100 +++ /var/tmp/diff_new_pack.Xdul0S/_new 2021-12-16 21:19:43.162530534 +0100 @@ -36,7 +36,7 @@ %endif Name: xorg-x11-server -Version: 21.1.1 +Version: 21.1.2 Release: 0 URL: http://xorg.freedesktop.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -199,7 +199,6 @@ Patch2: N_zap_warning_xserver.diff Patch3: N_driver-autoconfig.diff Patch4: N_fix_fglrx_screendepth_issue.patch -Patch5: U_hw-xfree86-Propagate-physical-dimensions-from-DRM-co.patch Patch6: N_fix-dpi-values.diff Patch7: N_Install-Avoid-failure-on-wrapper-installation.patch Patch8: u_xorg-wrapper-Drop-supplemental-group-IDs.patch @@ -239,10 +238,7 @@ Patch1910: u_modesetting-Fix-dirty-updates-for-sw-rotation.patch -Patch1920: u_Support-configuration-files-under-run-X11-xorg.conf..patch -Patch1921: u_Add-udev-scripts-for-configuration-of-platform-devic.patch -Patch1922: u_Revert-xf86-Accept-devices-with-the-simpledrm-driver.patch -Patch1923: u_Add-udev-rule-for-HyperV-devices.patch +Patch1920: u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch %description This package contains the X.Org Server. @@ -359,8 +355,6 @@ %patch2 -p1 %patch3 -p0 %patch4 -p0 -# back to 96 dpi fix -%patch5 -p1 -R %patch6 -p0 %patch7 -p1 %patch8 -p1 @@ -399,9 +393,6 @@ %patch1900 -p1 %patch1910 -p1 %patch1920 -p1 -%patch1921 -p1 -%patch1922 -p1 -%patch1923 -p1 %build %global _lto_cflags %{?_lto_cflags} -ffat-lto-objects @@ -603,12 +594,6 @@ %endif %{_bindir}/xorg-backtrace -# sysfb support -%{_sbindir}/x11sysfsconf -%dir %{_sysconfdir}/udev -%dir %{_sysconfdir}/udev/rules.d -%{_sysconfdir}/udev/rules.d/99-xorg-sysfs.rules - %if 0%{?have_wayland} == 1 %files wayland %{_bindir}/Xwayland ++++++ u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch ++++++ >From 672050be2553afaac6810a4d85d8b5cf1656d380 Mon Sep 17 00:00:00 2001 From: Thomas Zimmermann <tzimmerm...@suse.de> Date: Mon, 13 Dec 2021 16:10:35 +0100 Subject: [PATCH] xf86: Accept devices with the 'hyperv_drm' driver. Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de> --- hw/xfree86/common/xf86platformBus.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c index 45028f7a6..071f44b2a 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c @@ -560,6 +560,9 @@ xf86platformProbeDev(DriverPtr drvp) if (ServerIsNotSeat0()) { break; } else { + /* Accept the device if the driver is hyperv_drm */ + if (strcmp(xf86_platform_devices[j].attribs->driver, "hyperv_drm") == 0) + break; /* Accept the device if the driver is simpledrm */ if (strcmp(xf86_platform_devices[j].attribs->driver, "simpledrm") == 0) break; -- 2.34.1 ++++++ xorg-server-21.1.1.tar.xz -> xorg-server-21.1.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/ChangeLog new/xorg-server-21.1.2/ChangeLog --- old/xorg-server-21.1.1/ChangeLog 2021-11-07 00:45:53.000000000 +0100 +++ new/xorg-server-21.1.2/ChangeLog 2021-12-15 14:52:25.000000000 +0100 @@ -1,3 +1,240 @@ +commit 9852b29380673484aea25771a3e812c8e8a40393 +Author: Povilas Kanapickas <povi...@radix.lt> +Date: Wed Dec 15 15:46:09 2021 +0200 + + xserver 21.1.2 + + Signed-off-by: Povilas Kanapickas <povi...@radix.lt> + +commit 9fe2991075aca3321d59d03f3e45faca6cb718b8 +Author: Sam James <s...@gentoo.org> +Date: Wed Dec 15 10:41:22 2021 +0200 + + hw/xfree86: fix sbus build for SPARC + + Initially reported downstream in Gentoo. Manifests with errors like: + ``` + gnu/bin/ld: hw/xfree86/common/libxorg_common.a(xf86fbBus.c.o): in function `xf86ClaimFbSlot': + xf86fbBus.c:(.text+0x20): undefined reference to `sbusSlotClaimed' + /usr/lib/gcc/sparc-unknown-linux-gnu/11.2.0/../../../../sparc-unknown-linux-gnu/bin/ld: xf86fbBus.c:(.text+0x2c): undefined reference to `sbusSlotClaimed' + ``` + + While we use the headers in meson.build, we don't reference xf86sbusBus.c + which defines the missing symbols like sbusSlotClaimed. + + Bug: https://bugs.gentoo.org/828513 + Signed-off-by: Sam James <s...@gentoo.org> + (cherry picked from commit 6c1a1fcc4bff90546ebc954f428c6df97005ea50) + +commit 0b67785cd13e65d37416f75ab938bdc49cf4732f +Author: Povilas Kanapickas <povi...@radix.lt> +Date: Wed Dec 15 10:41:21 2021 +0200 + + render: Fix out of bounds access in SProcRenderCompositeGlyphs() + + ZDI-CAN-14192, CVE-2021-4008 + + This vulnerability was discovered and the fix was suggested by: + Jan-Niklas Sohn working with Trend Micro Zero Day Initiative + + Signed-off-by: Povilas Kanapickas <povi...@radix.lt> + (cherry picked from commit ebce7e2d80e7c80e1dda60f2f0bc886f1106ba60) + +commit 7209982d2a89f2e27d2f83f8952e9512be813aa4 +Author: Povilas Kanapickas <povi...@radix.lt> +Date: Wed Dec 15 10:41:20 2021 +0200 + + Xext: Fix out of bounds access in SProcScreenSaverSuspend() + + ZDI-CAN-14951, CVE-2021-4010 + + This vulnerability was discovered and the fix was suggested by: + Jan-Niklas Sohn working with Trend Micro Zero Day Initiative + + Signed-off-by: Povilas Kanapickas <povi...@radix.lt> + (cherry picked from commit 6c4c53010772e3cb4cb8acd54950c8eec9c00d21) + +commit 6f09e7d3913a8188e32062f5e196bebb06bab140 +Author: Povilas Kanapickas <povi...@radix.lt> +Date: Wed Dec 15 10:41:19 2021 +0200 + + xfixes: Fix out of bounds access in *ProcXFixesCreatePointerBarrier() + + ZDI-CAN-14950, CVE-2021-4009 + + This vulnerability was discovered and the fix was suggested by: + Jan-Niklas Sohn working with Trend Micro Zero Day Initiative + + Signed-off-by: Povilas Kanapickas <povi...@radix.lt> + (cherry picked from commit b5196750099ae6ae582e1f46bd0a6dad29550e02) + +commit a82d523edb30e5856adca9f258ac716108c71f19 +Author: Povilas Kanapickas <povi...@radix.lt> +Date: Wed Dec 15 10:41:18 2021 +0200 + + record: Fix out of bounds access in SwapCreateRegister() + + ZDI-CAN-14952, CVE-2021-4011 + + This vulnerability was discovered and the fix was suggested by: + Jan-Niklas Sohn working with Trend Micro Zero Day Initiative + + Signed-off-by: Povilas Kanapickas <povi...@radix.lt> + (cherry picked from commit e56f61c79fc3cee26d83cda0f84ae56d5979f768) + +commit a39218d99c6961dda0142d9956eb7404a37d9bd2 +Author: Matthieu Herrb <matth...@herrb.eu> +Date: Wed Dec 15 10:41:17 2021 +0200 + + remove the PRE_RELEASE message. + + With the new numbering scheme, XORG_VERISON_SNAP doesn't mean + a pre-release version anymore. + + Signed-off-by: Matthieu Herrb <matth...@herrb.eu> + (cherry picked from commit 4de9666b6d3c86660d728ddfc13d88700e5ff20d) + +commit fc2eb7e8cc19a41e034f2f4286af58f8b4825d65 +Author: Matt Turner <matts...@gmail.com> +Date: Tue Dec 7 21:39:58 2021 -0800 + + test: #undef NDEBUG so assert is not compiled away + + (cherry picked from commit d189102c783653a10931051175de24277a157331) + +commit 7caf29ca6607ddf4c19a81d19c0f4acc6deb8936 +Author: Povilas Kanapickas <povi...@radix.lt> +Date: Sat Nov 13 16:42:36 2021 +0200 + + meson: Correctly set DDXOSVERRORF and DDXBEFORERESET on xwin + + This worked with autotools, but not meson build system. + + Signed-off-by: Povilas Kanapickas <povi...@radix.lt> + (cherry picked from commit 04c93b98e9e4593aa2e6701bb08f5e27c3544d8a) + +commit 101791f80fdefea738421a414177899db7c76e83 +Author: Jonathan Gray <j...@jsg.id.au> +Date: Fri Dec 3 19:17:18 2021 +1100 + + glamor: fix free of uninitialised pointers + + Attempting to run fvwm on a x61/965gm with xserver 1.21.1 with the + modesetting driver on OpenBSD/amd64 would cause the xserver to + reliably crash. + + I tracked this down to the free() calls introduced in + 2906ee5e4a722138cccb3265a615da7705a52589 + (d1ca47e1242b51c79cec7287f52c36c8e494706b in branch). + + clang also warns about this: + glamor_program.c:296:13: warning: variable 'vs_prog_string' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] + glamor_program.c:290:9: warning: variable 'vs_prog_string' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] + glamor_program.c:288:9: warning: variable 'vs_prog_string' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] + glamor_program.c:277:13: warning: variable 'vs_prog_string' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] + glamor_program.c:296:13: warning: variable 'fs_prog_string' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] + glamor_program.c:290:9: warning: variable 'fs_prog_string' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] + glamor_program.c:288:9: warning: variable 'fs_prog_string' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] + glamor_program.c:277:13: warning: variable 'fs_prog_string' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] + + Signed-off-by: Jonathan Gray <j...@jsg.id.au> + Reviewed-by: Olivier Fourdan <ofour...@redhat.com> + Fixes: 2906ee5e4 ("glamor: Fix leak in glamor_build_program()") + (cherry picked from commit 5ac6319776b13f96a2b336da4b35237618a5b001) + +commit 2c6989f81e62bac05a583c39fa09a06172d1ece5 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Dec 2 10:41:03 2021 +1000 + + xkb: fix XkbSetMap check for the keytypes count + + The previous if/else condition resulted in us always setting the key + type count to the current number of key types. Split this up correctly. + + Regression introduced in de940e06f8733d87bbb857aef85d830053442cfe + + Fixes #1249 + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + (cherry picked from commit be16bd8543f80ad2933ec9c37f082617c7084165) + +commit 49444ce9f7ad34fff6ff94a9db95337f4bfd7b03 +Author: Povilas Kanapickas <povi...@radix.lt> +Date: Sat Nov 13 17:23:54 2021 +0200 + + Revert "hw/xfree86: Propagate physical dimensions from DRM connector" + + Quite a lot of applications currently expect the screen DPI exposed by + the X server to be 96 even when the real display DPI is different. + Additionally, currently Xwayland completely ignores any hardware + information and sets the DPI to 96. Accordingly the new behavior, even + if it fixes a bug, should not be enabled automatically to all users. + + A better solution would be to make the default DPI stay as is and enable + the correct behavior with a command line option (maybe -dpi auto, or + similar). For now let's just revert the bug fix. + + This reverts commit 05b3c681ea2f478c0cb941c2f8279919cf78de6d. + + Signed-off-by: Povilas Kanapickas <povi...@radix.lt> + (cherry picked from commit 35af1299e73483eaf93d913a960e1d1738bc7de6) + +commit 6f11b3c803898e0effe6ade2ae951f5758936152 +Author: Dave Airlie <airl...@redhat.com> +Date: Thu Nov 11 06:35:19 2021 +1000 + + dri2: add crocus to the list of va_gl users + + (cherry picked from commit a7b0a7fabd137183cc42a5edb15697e354c4450c) + +commit 8eb1396d3ecfd2bf968105a99759ae9445bdf768 +Author: Jocelyn Falempe <jfale...@redhat.com> +Date: Thu Nov 18 14:51:21 2021 +0100 + + xf86/logind: Fix drm_drop_master before vt_reldisp + + When switching to VT, the ioctl DRM_DROP_MASTER must be done before + the ioctl VT_RELDISP. Otherwise the kernel can't change the modesetting + reliably, and this leads to the console not showing up in some cases, like + after unplugging a docking station with a DP or HDMI monitor. + + Before doing the VT_RELDISP, send a dbus message to logind, to + pause the drm device, so logind will do the ioctl DRM_DROP_MASTER. + + With this patch, it changes the order logind will send the resume + event, and drm will be sent last instead of first. + so there is a also fix to call systemd_logind_vtenter() at the right time. + + Signed-off-by: Jocelyn Falempe <jfale...@redhat.com> + Reviewed-by: Hans de Goede <hdego...@redhat.com> + (cherry picked from commit da9d012a9c760896941769d4127e3cfb1a7a9f03) + +commit 6834f977a5eadbc3289f27b2bb83997132a39fdd +Author: Jocelyn Falempe <jfale...@redhat.com> +Date: Thu Nov 18 14:45:42 2021 +0100 + + xf86/logind: fix call systemd_logind_vtenter after receiving drm device resume + + logind send the resume event for input devices and drm device, + in any order. if we call vt_enter before logind resume the drm device, + it leads to a driver error, because logind has not done the + DRM_IOCTL_SET_MASTER on it. + + Keep the old workaround to make sure we call systemd_logind_vtenter at + least once if there are no platform device + + Signed-off-by: Jocelyn Falempe <jfale...@redhat.com> + Reviewed-by: Hans de Goede <hdego...@redhat.com> + (cherry picked from commit f5bd039633fa8360a10bd2aabb0111571f6275b0) + +commit 0ed7b1224ef17ff3d27e791e03e0d98dd6373c8a +Author: nerdopolis <bluescreen_aven...@verizon.net> +Date: Fri Oct 8 21:51:43 2021 -0400 + + xfree86: On Linux, while only seat0 can have TTYs, don't assmume all seat0s have TTYs + + (cherry picked from commit b8c12aac651d626c5120e6e8e18b42e7528caf43) + commit 6b997fb74e5c9473ee3989fca8d592a3a0d16067 Author: Povilas Kanapickas <povi...@radix.lt> Date: Sun Nov 7 01:33:56 2021 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/Xext/saver.c new/xorg-server-21.1.2/Xext/saver.c --- old/xorg-server-21.1.1/Xext/saver.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/Xext/saver.c 2021-12-15 14:51:50.000000000 +0100 @@ -1351,8 +1351,8 @@ REQUEST(xScreenSaverSuspendReq); swaps(&stuff->length); - swapl(&stuff->suspend); REQUEST_SIZE_MATCH(xScreenSaverSuspendReq); + swapl(&stuff->suspend); return ProcScreenSaverSuspend(client); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/configure new/xorg-server-21.1.2/configure --- old/xorg-server-21.1.1/configure 2021-11-07 00:45:29.000000000 +0100 +++ new/xorg-server-21.1.2/configure 2021-12-15 14:52:01.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xorg-server 21.1.1. +# Generated by GNU Autoconf 2.69 for xorg-server 21.1.2. # # Report bugs to <https://gitlab.freedesktop.org/xorg/xserver/issues>. # @@ -651,8 +651,8 @@ # Identity of this package. PACKAGE_NAME='xorg-server' PACKAGE_TARNAME='xorg-server' -PACKAGE_VERSION='21.1.1' -PACKAGE_STRING='xorg-server 21.1.1' +PACKAGE_VERSION='21.1.2' +PACKAGE_STRING='xorg-server 21.1.2' PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/xserver/issues' PACKAGE_URL='' @@ -1971,7 +1971,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xorg-server 21.1.1 to adapt to many kinds of systems. +\`configure' configures xorg-server 21.1.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2042,7 +2042,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xorg-server 21.1.1:";; + short | recursive ) echo "Configuration of xorg-server 21.1.2:";; esac cat <<\_ACEOF @@ -2227,10 +2227,10 @@ org.x) --with-bundle-version=VERSION Version to use for X11.app's CFBundleVersion - (default: 21.1.1) + (default: 21.1.2) --with-bundle-version-string=VERSION Version to use for X11.app's - CFBundleShortVersionString (default: 21.1.1) + CFBundleShortVersionString (default: 21.1.2) --with-sparkle-feed-url=URL URL for the Sparkle feed (default: https://www.xquartz.org/releases/sparkle/release.xml) @@ -2443,7 +2443,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xorg-server configure 21.1.1 +xorg-server configure 21.1.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -3152,7 +3152,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xorg-server $as_me 21.1.1, which was +It was created by xorg-server $as_me 21.1.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3500,7 +3500,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -RELEASE_DATE="2021-11-07" +RELEASE_DATE="2021-12-15" RELEASE_NAME="Caramel Ice Cream" @@ -4019,7 +4019,7 @@ # Define the identity of the package. PACKAGE='xorg-server' - VERSION='21.1.1' + VERSION='21.1.2' cat >>confdefs.h <<_ACEOF @@ -23526,7 +23526,7 @@ if test "${with_bundle_version+set}" = set; then : withval=$with_bundle_version; BUNDLE_VERSION="${withval}" else - BUNDLE_VERSION="21.1.1" + BUNDLE_VERSION="21.1.2" fi @@ -32078,7 +32078,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xorg-server $as_me 21.1.1, which was +This file was extended by xorg-server $as_me 21.1.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -32144,7 +32144,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xorg-server config.status 21.1.1 +xorg-server config.status 21.1.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/configure.ac new/xorg-server-21.1.2/configure.ac --- old/xorg-server-21.1.1/configure.ac 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/configure.ac 2021-12-15 14:51:50.000000000 +0100 @@ -26,8 +26,8 @@ dnl Process this file with autoconf to create configure. AC_PREREQ(2.60) -AC_INIT([xorg-server], 21.1.1, [https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server) -RELEASE_DATE="2021-11-07" +AC_INIT([xorg-server], 21.1.2, [https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server) +RELEASE_DATE="2021-12-15" RELEASE_NAME="Caramel Ice Cream" AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_MACRO_DIR([m4]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/glamor/glamor_program.c new/xorg-server-21.1.2/glamor/glamor_program.c --- old/xorg-server-21.1.1/glamor/glamor_program.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/glamor/glamor_program.c 2021-12-15 14:51:50.000000000 +0100 @@ -260,8 +260,8 @@ char *fs_vars = NULL; char *vs_vars = NULL; - char *vs_prog_string; - char *fs_prog_string; + char *vs_prog_string = NULL; + char *fs_prog_string = NULL; GLint fs_prog, vs_prog; Bool gpu_shader4 = FALSE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/meson.build new/xorg-server-21.1.2/hw/xfree86/common/meson.build --- old/xorg-server-21.1.1/hw/xfree86/common/meson.build 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/common/meson.build 2021-12-15 14:51:50.000000000 +0100 @@ -71,6 +71,10 @@ if get_option('pciaccess') srcs_xorg_common += ['xf86pciBus.c', 'xf86VGAarbiter.c'] + + if host_machine.cpu() == 'sparc' or host_machine.cpu() == 'sparc64' + srcs_xorg_common += 'xf86sbusBus.c' + endif endif srcs_xorg_common += custom_target( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/xf86Events.c new/xorg-server-21.1.2/hw/xfree86/common/xf86Events.c --- old/xorg-server-21.1.1/hw/xfree86/common/xf86Events.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/common/xf86Events.c 2021-12-15 14:51:50.000000000 +0100 @@ -382,6 +382,17 @@ for (i = 0; i < xf86NumGPUScreens; i++) xf86GPUScreens[i]->LeaveVT(xf86GPUScreens[i]); + if (systemd_logind_controls_session()) { + for (i = 0; i < xf86_num_platform_devices; i++) { + if (xf86_platform_devices[i].flags & XF86_PDEV_SERVER_FD) { + int major, minor; + major = xf86_platform_odev_attributes(i)->major; + minor = xf86_platform_odev_attributes(i)->minor; + systemd_logind_drop_master(major, minor); + } + } + } + if (!xf86VTSwitchAway()) goto switch_failed; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/xf86Helper.c new/xorg-server-21.1.2/hw/xfree86/common/xf86Helper.c --- old/xorg-server-21.1.1/hw/xfree86/common/xf86Helper.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/common/xf86Helper.c 2021-12-15 14:51:50.000000000 +0100 @@ -55,7 +55,6 @@ #include "xf86Xinput.h" #include "xf86InPriv.h" #include "mivalidate.h" -#include "xf86Crtc.h" /* For xf86GetClocks */ #if defined(CSRG_BASED) || defined(__GNU__) @@ -852,9 +851,8 @@ { MessageType from = X_DEFAULT; xf86MonPtr DDC = (xf86MonPtr) (pScrn->monitor->DDC); - int probedWidthmm, probedHeightmm; + int ddcWidthmm, ddcHeightmm; int widthErr, heightErr; - xf86OutputPtr compat = xf86CompatOutput(pScrn); /* XXX Maybe there is no need for widthmm/heightmm in ScrnInfoRec */ pScrn->widthmm = pScrn->monitor->widthmm; @@ -864,15 +862,11 @@ /* DDC gives display size in mm for individual modes, * but cm for monitor */ - probedWidthmm = DDC->features.hsize * 10; /* 10mm in 1cm */ - probedHeightmm = DDC->features.vsize * 10; /* 10mm in 1cm */ - } - else if (compat && compat->mm_width > 0 && compat->mm_height > 0) { - probedWidthmm = compat->mm_width; - probedHeightmm = compat->mm_height; + ddcWidthmm = DDC->features.hsize * 10; /* 10mm in 1cm */ + ddcHeightmm = DDC->features.vsize * 10; /* 10mm in 1cm */ } else { - probedWidthmm = probedHeightmm = 0; + ddcWidthmm = ddcHeightmm = 0; } if (monitorResolution > 0) { @@ -898,15 +892,15 @@ pScrn->widthmm, pScrn->heightmm); /* Warn if config and probe disagree about display size */ - if (probedWidthmm && probedHeightmm) { + if (ddcWidthmm && ddcHeightmm) { if (pScrn->widthmm > 0) { - widthErr = abs(probedWidthmm - pScrn->widthmm); + widthErr = abs(ddcWidthmm - pScrn->widthmm); } else { widthErr = 0; } if (pScrn->heightmm > 0) { - heightErr = abs(probedHeightmm - pScrn->heightmm); + heightErr = abs(ddcHeightmm - pScrn->heightmm); } else { heightErr = 0; @@ -915,17 +909,17 @@ /* Should include config file name for monitor here */ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Probed monitor is %dx%d mm, using Displaysize %dx%d mm\n", - probedWidthmm, probedHeightmm, pScrn->widthmm, + ddcWidthmm, ddcHeightmm, pScrn->widthmm, pScrn->heightmm); } } } - else if (probedWidthmm && probedHeightmm) { + else if (ddcWidthmm && ddcHeightmm) { from = X_PROBED; xf86DrvMsg(pScrn->scrnIndex, from, "Display dimensions: (%d, %d) mm\n", - probedWidthmm, probedHeightmm); - pScrn->widthmm = probedWidthmm; - pScrn->heightmm = probedHeightmm; + ddcWidthmm, ddcHeightmm); + pScrn->widthmm = ddcWidthmm; + pScrn->heightmm = ddcHeightmm; if (pScrn->widthmm > 0) { pScrn->xDpi = (int) ((double) pScrn->virtualX * MMPERINCH / pScrn->widthmm); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/xf86Init.c new/xorg-server-21.1.2/hw/xfree86/common/xf86Init.c --- old/xorg-server-21.1.1/hw/xfree86/common/xf86Init.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/common/xf86Init.c 2021-12-15 14:51:50.000000000 +0100 @@ -85,6 +85,11 @@ #include <X11/extensions/dpmsconst.h> #include "dpmsproc.h" #endif + +#ifdef __linux__ +#include <linux/major.h> +#include <sys/sysmacros.h> +#endif #include <hotplug.h> void (*xf86OSPMClose) (void) = NULL; @@ -105,23 +110,10 @@ static int numFormats = 7; static Bool formatsDone = FALSE; -#ifndef PRE_RELEASE -#define PRE_RELEASE XORG_VERSION_SNAP -#endif static void xf86PrintBanner(void) { -#if PRE_RELEASE - xf86ErrorFVerb(0, "\n" - "This is a pre-release version of the X server from " - XVENDORNAME ".\n" "It is not supported in any way.\n" - "Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.\n" - "Select the \"xorg\" product for bugs you find in this release.\n" - "Before reporting bugs in pre-release versions please check the\n" - "latest version in the X.Org Foundation git repository.\n" - "See http://wiki.x.org/wiki/GitPage for git access instructions.\n"); -#endif xf86ErrorFVerb(0, "\nX.Org X Server %d.%d.%d", XORG_VERSION_MAJOR, XORG_VERSION_MINOR, XORG_VERSION_PATCH); #if XORG_VERSION_SNAP > 0 @@ -201,6 +193,17 @@ return PrivsElevated(); } +Bool +xf86HasTTYs(void) +{ +#ifdef __linux__ + struct stat tty0devAttributes; + return (stat("/dev/tty0", &tty0devAttributes) == 0 && major(tty0devAttributes.st_rdev) == TTY_MAJOR); +#else + return TRUE; +#endif +} + static void xf86AutoConfigOutputDevices(void) { @@ -425,7 +428,7 @@ want_hw_access = TRUE; /* Non-seat0 X servers should not open console */ - if (!(flags & HW_SKIP_CONSOLE) && !ServerIsNotSeat0()) + if (!(flags & HW_SKIP_CONSOLE) && !ServerIsNotSeat0() && xf86HasTTYs()) xorgHWOpenConsole = TRUE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/xf86Priv.h new/xorg-server-21.1.2/hw/xfree86/common/xf86Priv.h --- old/xorg-server-21.1.1/hw/xfree86/common/xf86Priv.h 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/common/xf86Priv.h 2021-12-15 14:51:50.000000000 +0100 @@ -158,6 +158,8 @@ xf86CallDriverProbe(struct _DriverRec *drv, Bool detect_only); extern _X_EXPORT Bool xf86PrivsElevated(void); +extern _X_EXPORT Bool +xf86HasTTYs(void); #endif /* _NO_XF86_PROTOTYPES */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/drivers/modesetting/dri2.c new/xorg-server-21.1.2/hw/xfree86/drivers/modesetting/dri2.c --- old/xorg-server-21.1.1/hw/xfree86/drivers/modesetting/dri2.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/drivers/modesetting/dri2.c 2021-12-15 14:51:50.000000000 +0100 @@ -1086,7 +1086,8 @@ * guess that the DRI and VDPAU drivers have the same name. */ if (strcmp(driver_names[0], "i965") == 0 || - strcmp(driver_names[0], "iris") == 0) { + strcmp(driver_names[0], "iris") == 0 || + strcmp(driver_names[0], "crocus") == 0) { driver_names[1] = "va_gl"; } else { driver_names[1] = driver_names[0]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/modes/xf86Crtc.c new/xorg-server-21.1.2/hw/xfree86/modes/xf86Crtc.c --- old/xorg-server-21.1.1/hw/xfree86/modes/xf86Crtc.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/modes/xf86Crtc.c 2021-12-15 14:51:50.000000000 +0100 @@ -3256,10 +3256,8 @@ free(output->MonInfo); output->MonInfo = edid_mon; - if (edid_mon) { - output->mm_width = 0; - output->mm_height = 0; - } + output->mm_width = 0; + output->mm_height = 0; if (debug_modes) { xf86DrvMsg(scrn->scrnIndex, X_INFO, "EDID for output %s\n", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/modes/xf86RandR12.c new/xorg-server-21.1.2/hw/xfree86/modes/xf86RandR12.c --- old/xorg-server-21.1.1/hw/xfree86/modes/xf86RandR12.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/modes/xf86RandR12.c 2021-12-15 14:51:50.000000000 +0100 @@ -806,12 +806,6 @@ mmWidth = output->conf_monitor->mon_width; mmHeight = output->conf_monitor->mon_height; } - else if (output && - (output->mm_width > 0 && - output->mm_height > 0)) { - mmWidth = output->mm_width; - mmHeight = output->mm_height; - } else { /* * Otherwise, just set the screen to DEFAULT_DPI diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/os-support/linux/systemd-logind.c new/xorg-server-21.1.2/hw/xfree86/os-support/linux/systemd-logind.c --- old/xorg-server-21.1.1/hw/xfree86/os-support/linux/systemd-logind.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/os-support/linux/systemd-logind.c 2021-12-15 14:51:50.000000000 +0100 @@ -38,6 +38,7 @@ #include "xf86.h" #include "xf86platformBus.h" #include "xf86Xinput.h" +#include "xf86Priv.h" #include "globals.h" #include "systemd-logind.h" @@ -302,6 +303,20 @@ dbus_error_free(&error); } +/* + * Send a message to logind, to pause the drm device + * and ensure the drm_drop_master is done before + * VT_RELDISP when switching VT + */ +void systemd_logind_drop_master(int _major, int _minor) +{ + struct systemd_logind_info *info = &logind_info; + dbus_int32_t major = _major; + dbus_int32_t minor = _minor; + + systemd_logind_ack_pause(info, minor, major); +} + static DBusHandlerResult message_filter(DBusConnection * connection, DBusMessage * message, void *data) { @@ -393,14 +408,16 @@ /* info->vt_active gets set by systemd_logind_vtenter() */ info->active = TRUE; - if (pdev) + if (pdev) { pdev->flags &= ~XF86_PDEV_PAUSED; - else + systemd_logind_vtenter(); + } else systemd_logind_set_input_fd_for_all_devs(major, minor, fd, info->vt_active); - /* Always call vtenter(), in case there are only legacy video devs */ - systemd_logind_vtenter(); + /* Always call vtenter(), only if there are only legacy video devs */ + if (!xf86_num_platform_devices) + systemd_logind_vtenter(); } return DBUS_HANDLER_RESULT_HANDLED; } @@ -583,7 +600,7 @@ int systemd_logind_init(void) { - if (!ServerIsNotSeat0() && linux_parse_vt_settings(TRUE) && !linux_get_keeptty()) { + if (!ServerIsNotSeat0() && xf86HasTTYs() && linux_parse_vt_settings(TRUE) && !linux_get_keeptty()) { LogMessage(X_INFO, "systemd-logind: logind integration requires -keeptty and " "-keeptty was not provided, disabling logind integration\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/os-support/meson.build new/xorg-server-21.1.2/hw/xfree86/os-support/meson.build --- old/xorg-server-21.1.1/hw/xfree86/os-support/meson.build 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/hw/xfree86/os-support/meson.build 2021-12-15 14:51:50.000000000 +0100 @@ -19,7 +19,7 @@ if host_machine.system() != 'linux' srcs_xorg_os_support += 'bus/bsd_pci.c' endif - if host_machine.cpu() == 'sparc' + if host_machine.cpu() == 'sparc' or host_machine.cpu() == 'sparc64' srcs_xorg_os_support += 'bus/Sbus.c' install_data('bus/xf86Sbus.h', install_dir: xorgsdkdir) endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/include/meson.build new/xorg-server-21.1.2/include/meson.build --- old/xorg-server-21.1.1/include/meson.build 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/include/meson.build 2021-12-15 14:51:50.000000000 +0100 @@ -245,6 +245,8 @@ conf_data.set('HAVE_APM', (build_apm or build_acpi) ? '1' : false) conf_data.set('HAVE_ACPI', build_acpi ? '1' : false) +conf_data.set('DDXOSVERRORF', build_xwin ? '1' : false) +conf_data.set('DDXBEFORERESET', build_xwin ? '1' : false) enable_debugging = get_option('buildtype') == 'debug' conf_data.set('DEBUG', enable_debugging ? '1' : false) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/include/systemd-logind.h new/xorg-server-21.1.2/include/systemd-logind.h --- old/xorg-server-21.1.1/include/systemd-logind.h 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/include/systemd-logind.h 2021-12-15 14:51:50.000000000 +0100 @@ -33,6 +33,7 @@ void systemd_logind_release_fd(int major, int minor, int fd); int systemd_logind_controls_session(void); void systemd_logind_vtenter(void); +void systemd_logind_drop_master(int major, int minor); #else #define systemd_logind_init() #define systemd_logind_fini() @@ -40,6 +41,7 @@ #define systemd_logind_release_fd(major, minor, fd) close(fd) #define systemd_logind_controls_session() 0 #define systemd_logind_vtenter() +#define systemd_logind_drop_master(major, minor) #endif #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/meson.build new/xorg-server-21.1.2/meson.build --- old/xorg-server-21.1.1/meson.build 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/meson.build 2021-12-15 14:51:50.000000000 +0100 @@ -3,10 +3,10 @@ 'buildtype=debugoptimized', 'c_std=gnu99', ], - version: '21.1.1', + version: '21.1.2', meson_version: '>= 0.47.0', ) -release_date = '2021-11-07' +release_date = '2021-12-15' add_project_arguments('-DHAVE_DIX_CONFIG_H', language: ['c', 'objc']) cc = meson.get_compiler('c') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/record/record.c new/xorg-server-21.1.2/record/record.c --- old/xorg-server-21.1.1/record/record.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/record/record.c 2021-12-15 14:51:50.000000000 +0100 @@ -2516,8 +2516,8 @@ swapl(pClientID); } if (stuff->nRanges > - client->req_len - bytes_to_int32(sz_xRecordRegisterClientsReq) - - stuff->nClients) + (client->req_len - bytes_to_int32(sz_xRecordRegisterClientsReq) + - stuff->nClients) / bytes_to_int32(sz_xRecordRange)) return BadLength; RecordSwapRanges((xRecordRange *) pClientID, stuff->nRanges); return Success; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/render/render.c new/xorg-server-21.1.2/render/render.c --- old/xorg-server-21.1.1/render/render.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/render/render.c 2021-12-15 14:51:50.000000000 +0100 @@ -2309,6 +2309,9 @@ i = elt->len; if (i == 0xff) { + if (buffer + 4 > end) { + return BadLength; + } swapl((int *) buffer); buffer += 4; } @@ -2319,12 +2322,18 @@ buffer += i; break; case 2: + if (buffer + i * 2 > end) { + return BadLength; + } while (i--) { swaps((short *) buffer); buffer += 2; } break; case 4: + if (buffer + i * 4 > end) { + return BadLength; + } while (i--) { swapl((int *) buffer); buffer += 4; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/damage/primitives.c new/xorg-server-21.1.2/test/damage/primitives.c --- old/xorg-server-21.1.1/test/damage/primitives.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/damage/primitives.c 2021-12-15 14:51:50.000000000 +0100 @@ -31,6 +31,9 @@ * them. */ +/* Test relies on assert() */ +#undef NDEBUG + #include <assert.h> #include <stdbool.h> #include <stdio.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/fixes.c new/xorg-server-21.1.2/test/fixes.c --- old/xorg-server-21.1.1/test/fixes.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/fixes.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/input.c new/xorg-server-21.1.2/test/input.c --- old/xorg-server-21.1.1/test/input.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/input.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/list.c new/xorg-server-21.1.2/test/list.c --- old/xorg-server-21.1.1/test/list.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/list.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/misc.c new/xorg-server-21.1.2/test/misc.c --- old/xorg-server-21.1.1/test/misc.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/misc.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/signal-logging.c new/xorg-server-21.1.2/test/signal-logging.c --- old/xorg-server-21.1.1/test/signal-logging.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/signal-logging.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/string.c new/xorg-server-21.1.2/test/string.c --- old/xorg-server-21.1.1/test/string.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/string.c 2021-12-15 14:51:50.000000000 +0100 @@ -26,6 +26,9 @@ * provided in os/ subdirectory for some platforms. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/test_xkb.c new/xorg-server-21.1.2/test/test_xkb.c --- old/xorg-server-21.1.1/test/test_xkb.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/test_xkb.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/touch.c new/xorg-server-21.1.2/test/touch.c --- old/xorg-server-21.1.1/test/touch.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/touch.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xfree86.c new/xorg-server-21.1.2/test/xfree86.c --- old/xorg-server-21.1.1/test/xfree86.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xfree86.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi1/protocol-xchangedevicecontrol.c new/xorg-server-21.1.2/test/xi1/protocol-xchangedevicecontrol.c --- old/xorg-server-21.1.1/test/xi1/protocol-xchangedevicecontrol.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi1/protocol-xchangedevicecontrol.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-common.c new/xorg-server-21.1.2/test/xi2/protocol-common.c --- old/xorg-server-21.1.1/test/xi2/protocol-common.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-common.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-eventconvert.c new/xorg-server-21.1.2/test/xi2/protocol-eventconvert.c --- old/xorg-server-21.1.1/test/xi2/protocol-eventconvert.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-eventconvert.c 2021-12-15 14:51:50.000000000 +0100 @@ -20,6 +20,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xigetclientpointer.c new/xorg-server-21.1.2/test/xi2/protocol-xigetclientpointer.c --- old/xorg-server-21.1.1/test/xi2/protocol-xigetclientpointer.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-xigetclientpointer.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xigetselectedevents.c new/xorg-server-21.1.2/test/xi2/protocol-xigetselectedevents.c --- old/xorg-server-21.1.1/test/xi2/protocol-xigetselectedevents.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-xigetselectedevents.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xipassivegrabdevice.c new/xorg-server-21.1.2/test/xi2/protocol-xipassivegrabdevice.c --- old/xorg-server-21.1.1/test/xi2/protocol-xipassivegrabdevice.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-xipassivegrabdevice.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xiquerydevice.c new/xorg-server-21.1.2/test/xi2/protocol-xiquerydevice.c --- old/xorg-server-21.1.1/test/xi2/protocol-xiquerydevice.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-xiquerydevice.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xiquerypointer.c new/xorg-server-21.1.2/test/xi2/protocol-xiquerypointer.c --- old/xorg-server-21.1.1/test/xi2/protocol-xiquerypointer.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-xiquerypointer.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xiqueryversion.c new/xorg-server-21.1.2/test/xi2/protocol-xiqueryversion.c --- old/xorg-server-21.1.1/test/xi2/protocol-xiqueryversion.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-xiqueryversion.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xiselectevents.c new/xorg-server-21.1.2/test/xi2/protocol-xiselectevents.c --- old/xorg-server-21.1.1/test/xi2/protocol-xiselectevents.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-xiselectevents.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xisetclientpointer.c new/xorg-server-21.1.2/test/xi2/protocol-xisetclientpointer.c --- old/xorg-server-21.1.1/test/xi2/protocol-xisetclientpointer.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-xisetclientpointer.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xiwarppointer.c new/xorg-server-21.1.2/test/xi2/protocol-xiwarppointer.c --- old/xorg-server-21.1.1/test/xi2/protocol-xiwarppointer.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/protocol-xiwarppointer.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/xi2.c new/xorg-server-21.1.2/test/xi2/xi2.c --- old/xorg-server-21.1.1/test/xi2/xi2.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xi2/xi2.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/test/xtest.c new/xorg-server-21.1.2/test/xtest.c --- old/xorg-server-21.1.1/test/xtest.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/test/xtest.c 2021-12-15 14:51:50.000000000 +0100 @@ -21,6 +21,9 @@ * DEALINGS IN THE SOFTWARE. */ +/* Test relies on assert() */ +#undef NDEBUG + #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/xfixes/cursor.c new/xorg-server-21.1.2/xfixes/cursor.c --- old/xorg-server-21.1.1/xfixes/cursor.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/xfixes/cursor.c 2021-12-15 14:51:50.000000000 +0100 @@ -1010,7 +1010,8 @@ { REQUEST(xXFixesCreatePointerBarrierReq); - REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, pad_to_int32(stuff->num_devices)); + REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, + pad_to_int32(stuff->num_devices * sizeof(CARD16))); LEGAL_NEW_RESOURCE(stuff->barrier, client); return XICreatePointerBarrier(client, stuff); @@ -1027,7 +1028,8 @@ swaps(&stuff->length); swaps(&stuff->num_devices); - REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, pad_to_int32(stuff->num_devices)); + REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, + pad_to_int32(stuff->num_devices * sizeof(CARD16))); swapl(&stuff->barrier); swapl(&stuff->window); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xorg-server-21.1.1/xkb/xkb.c new/xorg-server-21.1.2/xkb/xkb.c --- old/xorg-server-21.1.1/xkb/xkb.c 2021-11-07 00:45:18.000000000 +0100 +++ new/xorg-server-21.1.2/xkb/xkb.c 2021-12-15 14:51:50.000000000 +0100 @@ -2511,15 +2511,14 @@ } } - if ((req->present & XkbKeyTypesMask) && - (!CheckKeyTypes(client, xkb, req, (xkbKeyTypeWireDesc **) &values, - &nTypes, mapWidths, doswap))) { - client->errorValue = nTypes; - return BadValue; - } - else { + if (!(req->present & XkbKeyTypesMask)) { nTypes = xkb->map->num_types; } + else if (!CheckKeyTypes(client, xkb, req, (xkbKeyTypeWireDesc **) &values, + &nTypes, mapWidths, doswap)) { + client->errorValue = nTypes; + return BadValue; + } /* symsPerKey/mapWidths must be filled regardless of client-side flags */ map = &xkb->map->key_sym_map[xkb->min_key_code];