From 4db25562fe97995f20b8adc0f2e6959ed82e8635 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Mon, 22 Dec 2014 21:13:19 +0100 Subject: [PATCH] ODROID-U3 xorg-server debian package fork : MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * Add Mali fixes patch; * Refresh patches list. Signed-off-by: Jérôme Benoit --- debian/changelog | 6 + debian/gbp.conf | 2 +- debian/patches/02_kbsd-input-devd.diff | 46 ++----- debian/patches/03_static-nettle.diff | 8 +- .../patches/05_Revert-Unload-submodules.diff | 2 +- ...er-Bresenham-error-correction-to-avoi.diff | 5 - .../patches/105_nvidia_fglrx_autodetect.patch | 12 +- debian/patches/111_armel-drv-fallbacks.patch | 10 +- ...22_xext_fix_card32_overflow_in_xauth.patch | 6 +- .../patches/168_glibc_trace_to_stderr.patch | 4 +- .../188_default_primary_to_first_busid.patch | 2 - ...che-xkbcomp_output_for_fast_start_up.patch | 48 +++---- .../191-Xorg-add-an-extra-module-path.patch | 20 +-- debian/patches/208_switch_on_release.diff | 6 +- .../226_fall_back_to_autoconfiguration.patch | 12 +- debian/patches/227_null_ptr_midispcur.patch | 4 +- debian/patches/228_autobind_gpu.patch | 23 +--- .../232-xf86compatoutput-valgrind.patch | 4 +- .../CVE-2014-8xxx/0000-glx-check-return.patch | 39 +++--- .../0000-regionsize-size_t.patch | 5 - ...-may-allow-unauthed-client-to-crash-.patch | 7 +- ...flow-in-ProcPutImage-CVE-2014-8092-1.patch | 8 +- ...erflow-in-GetHosts-CVE-2014-8092-2-4.patch | 10 +- ...flow-in-RegionSizeof-CVE-2014-8092-3.patch | 28 ++-- ...flow-in-REQUEST_FIXED_SIZE-CVE-2014-.patch | 5 - ...rflow-in-ProcDRI2GetBuffers-CVE-2014.patch | 7 +- ...lengths-in-DbeSwapBuffers-calls-CVE-.patch | 5 - ...engths-in-Xinput-extension-CVE-2014-.patch | 59 ++------ ...ed-length-in-SProcXCMiscGetXIDList-C.patch | 5 - ...engths-in-XVideo-extension-swapped-p.patch | 46 +++---- ...-lengths-in-DRI3-extension-swapped-p.patch | 18 ++- ...ted-lengths-in-Present-extension-pro.patch | 7 +- ...d-lengths-in-RandR-extension-swapped.patch | 7 +- ...uest-size-before-reading-it-CVE-2014.patch | 5 - ...ed-lengths-in-Render-extn.-swapped-p.patch | 7 +- ...ed-length-in-SProcXFixesSelectSelect.patch | 7 +- ...th-checking-test-cases-for-some-Xinp.patch | 20 +-- ...th-checking-test-cases-for-some-Xinp.patch | 34 ++--- ..._FIXED_SIZE-testcases-to-test-misc.c.patch | 5 - ...noid-about-variable-length-requests-.patch | 10 +- ...ct-about-rejecting-invalid-image-siz.patch | 35 ++--- ...aranoia-in-__glXGetAnswerBuffer-__GL.patch | 9 +- ...ze-computation-for-EXT_texture_integ.patch | 9 +- ...fe_-add-mul-pad-v3-CVE-2014-8093-4-6.patch | 8 +- ...ing-for-GLXRender-requests-v2-CVE-20.patch | 14 +- ...flow-protection-for-non-generated-re.patch | 25 ++-- ...ing-for-RenderLarge-requests-v2-CVE-.patch | 22 ++- ...ngth-checking-for-swapped-VendorPriv.patch | 9 +- ...th-checks-for-SetClientInfoARB-CVE-2.patch | 9 +- ...ing-for-non-generated-vendor-private.patch | 11 +- ...ing-for-non-generated-single-request.patch | 124 ++++++++--------- ...ng-request-length-into-varsize-v2-CV.patch | 130 ++++++++---------- ...ncation-in-__glXGetAnswerBuffer-CVE-.patch | 7 +- .../0034-CVE-2014-8097-additional.patch | 5 - .../0035-CVE-2014-8098-additional.patch | 7 +- .../0036-CVE-2014-8092-additional.patch | 5 - .../0037-CVE-2014-8092-additional-2.patch | 8 +- debian/patches/config-add-no-removal.patch | 8 +- ...isable-rotation-transform-gpuscreens.patch | 2 - debian/patches/drm_device_keep_trying.patch | 10 +- debian/patches/fb-24-depth.patch | 2 - debian/patches/fix-detach-gpu.patch | 16 +-- debian/patches/fix-ftbfs-ppc64el.patch | 4 +- debian/patches/mi-dont-process-disabled.patch | 7 +- debian/patches/no-nv.patch | 4 +- debian/patches/pixman-validate.patch | 6 +- debian/patches/ppc64el-endian-fix.patch | 4 - .../patches/rotation-slaved-crtc-bounds.patch | 10 +- debian/patches/rrcrtc-brackets-are-hard.patch | 9 +- debian/patches/series | 2 + debian/patches/xf86-fixup-detection.patch | 10 +- .../xf86-ignore-conflicting-rr-caps.patch | 2 +- debian/patches/xf86-inactive-gpuscreen.patch | 6 +- .../xfree86-no-xv-for-gpuscreens.patch | 6 +- ...eat_key_description_to_xorg_conf_man.patch | 11 +- ...ree86_add_matchseat_key_to_xorg_conf.patch | 68 ++++----- ...lback_to_pci_bus_probe_for_non_seat0.patch | 7 +- ...e86_keep_non_seat0_from_touching_vts.patch | 9 +- debian/patches/xi-dont-copy-too-much.patch | 6 +- debian/patches/xi2-resize-touch.patch | 4 +- debian/patches/xmir.patch | 48 +++---- .../patches/xrandr-rroutputchanged-main.patch | 5 - 82 files changed, 457 insertions(+), 810 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2d85b47..d6b29dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xorg-server (2:1.15.1-0ubuntu2.7) trusty; urgency=medium + + * Add Mali specific fixes patch. + + -- Jérôme Benoit Mon, 22 Dec 2014 19:38:00 +0100 + xorg-server (2:1.15.1-0ubuntu2.6) trusty-proposed; urgency=medium [ Laércio de Sousa ] diff --git a/debian/gbp.conf b/debian/gbp.conf index 4a3e532..c3e6310 100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@ -4,4 +4,4 @@ upstream-branch = upstream-experimental # the default branch for the debian patch: debian-branch = ubuntu # use pristine-tar: -pristine-tar = True +pristine-tar = False diff --git a/debian/patches/02_kbsd-input-devd.diff b/debian/patches/02_kbsd-input-devd.diff index bdadae2..790102b 100644 --- a/debian/patches/02_kbsd-input-devd.diff +++ b/debian/patches/02_kbsd-input-devd.diff @@ -19,10 +19,8 @@ Signed-off-by: Robert Millan 8 files changed, 427 insertions(+), 3 deletions(-) create mode 100644 config/devd.c -Index: xorg-server/config/Makefile.am -=================================================================== ---- xorg-server.orig/config/Makefile.am -+++ xorg-server/config/Makefile.am +--- a/config/Makefile.am ++++ b/config/Makefile.am @@ -40,6 +40,10 @@ if CONFIG_WSCONS libconfig_la_SOURCES += wscons.c endif # CONFIG_WSCONS @@ -34,10 +32,8 @@ Index: xorg-server/config/Makefile.am endif # CONFIG_NEED_DBUS endif # !CONFIG_UDEV -Index: xorg-server/config/config-backends.h -=================================================================== ---- xorg-server.orig/config/config-backends.h -+++ xorg-server/config/config-backends.h +--- a/config/config-backends.h ++++ b/config/config-backends.h @@ -75,3 +75,8 @@ void config_hal_fini(void); int config_wscons_init(void); void config_wscons_fini(void); @@ -47,10 +43,8 @@ Index: xorg-server/config/config-backends.h +int config_devd_init(void); +void config_devd_fini(void); +#endif -Index: xorg-server/config/config.c -=================================================================== ---- xorg-server.orig/config/config.c -+++ xorg-server/config/config.c +--- a/config/config.c ++++ b/config/config.c @@ -64,6 +64,9 @@ config_init(void) #elif defined(CONFIG_WSCONS) if (!config_wscons_init()) @@ -70,10 +64,8 @@ Index: xorg-server/config/config.c #endif } -Index: xorg-server/config/devd.c -=================================================================== --- /dev/null -+++ xorg-server/config/devd.c ++++ b/config/devd.c @@ -0,0 +1,387 @@ +/* + * Copyright © 2012 Baptiste Daroussin @@ -462,10 +454,8 @@ Index: xorg-server/config/devd.c + RemoveBlockAndWakeupHandlers(block_handler, wakeup_handler, NULL); + close(sock_devd); +} -Index: xorg-server/configure.ac -=================================================================== ---- xorg-server.orig/configure.ac -+++ xorg-server/configure.ac +--- a/configure.ac ++++ b/configure.ac @@ -618,6 +618,7 @@ AC_ARG_ENABLE(config-udev, AS_HELP_ST AC_ARG_ENABLE(config-udev-kms, AS_HELP_STRING([--enable-config-udev-kms], [Build udev kms support (default: auto)]), [CONFIG_UDEV_KMS=$enableval], [CONFIG_UDEV_KMS=auto]) AC_ARG_ENABLE(config-dbus, AS_HELP_STRING([--enable-config-dbus], [Build D-BUS API support (default: no)]), [CONFIG_DBUS_API=$enableval], [CONFIG_DBUS_API=no]) @@ -496,10 +486,8 @@ Index: xorg-server/configure.ac if test "x$USE_SIGIO_BY_DEFAULT" = xyes; then USE_SIGIO_BY_DEFAULT_VALUE=TRUE else -Index: xorg-server/hw/xfree86/common/xf86Config.c -=================================================================== ---- xorg-server.orig/hw/xfree86/common/xf86Config.c -+++ xorg-server/hw/xfree86/common/xf86Config.c +--- a/hw/xfree86/common/xf86Config.c ++++ b/hw/xfree86/common/xf86Config.c @@ -1377,15 +1377,18 @@ checkCoreInputDevices(serverLayoutPtr se } @@ -521,10 +509,8 @@ Index: xorg-server/hw/xfree86/common/xf86Config.c #endif xf86Msg(X_INFO, "The server relies on %s to provide the list of " "input devices.\n\tIf no devices become available, " -Index: xorg-server/hw/xfree86/common/xf86Globals.c -=================================================================== ---- xorg-server.orig/hw/xfree86/common/xf86Globals.c -+++ xorg-server/hw/xfree86/common/xf86Globals.c +--- a/hw/xfree86/common/xf86Globals.c ++++ b/hw/xfree86/common/xf86Globals.c @@ -123,7 +123,8 @@ xf86InfoRec xf86Info = { .log = LogNone, .disableRandR = FALSE, @@ -535,10 +521,8 @@ Index: xorg-server/hw/xfree86/common/xf86Globals.c .forceInputDevices = FALSE, .autoAddDevices = TRUE, .autoEnableDevices = TRUE, -Index: xorg-server/include/dix-config.h.in -=================================================================== ---- xorg-server.orig/include/dix-config.h.in -+++ xorg-server/include/dix-config.h.in +--- a/include/dix-config.h.in ++++ b/include/dix-config.h.in @@ -420,6 +420,9 @@ /* Support HAL for hotplug */ #undef CONFIG_HAL diff --git a/debian/patches/03_static-nettle.diff b/debian/patches/03_static-nettle.diff index 4a48338..1ac0274 100644 --- a/debian/patches/03_static-nettle.diff +++ b/debian/patches/03_static-nettle.diff @@ -2,11 +2,9 @@ Link against static libnettle There's no libnettle udeb. -Index: xorg-server/configure.ac -=================================================================== ---- xorg-server.orig/configure.ac 2013-08-02 20:15:25.471466837 +0200 -+++ xorg-server/configure.ac 2013-08-02 20:17:12.875999417 +0200 -@@ -1433,7 +1433,7 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -1623,7 +1623,7 @@ fi if test "x$with_sha1" = xlibnettle; then AC_DEFINE([HAVE_SHA1_IN_LIBNETTLE], [1], [Use libnettle SHA1 functions]) diff --git a/debian/patches/05_Revert-Unload-submodules.diff b/debian/patches/05_Revert-Unload-submodules.diff index 1cc8ff8..903b795 100644 --- a/debian/patches/05_Revert-Unload-submodules.diff +++ b/debian/patches/05_Revert-Unload-submodules.diff @@ -12,7 +12,7 @@ This doesn't seem to work quite well. See Debian bug#686152. --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c -@@ -1596,7 +1596,13 @@ xf86LoadOneModule(char *name, pointer op +@@ -1597,7 +1597,13 @@ xf86LoadOneModule(char *name, pointer op void xf86UnloadSubModule(pointer mod) { diff --git a/debian/patches/06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff b/debian/patches/06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff index c3a6e50..86f7c73 100644 --- a/debian/patches/06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff +++ b/debian/patches/06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff @@ -14,8 +14,6 @@ Signed-off-by: Julien Cristau fb/fbseg.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) -diff --git a/fb/fbseg.c b/fb/fbseg.c -index 1848387..0e4e0a9 100644 --- a/fb/fbseg.c +++ b/fb/fbseg.c @@ -65,12 +65,6 @@ fbBresSolid(DrawablePtr pDrawable, @@ -63,6 +61,3 @@ index 1848387..0e4e0a9 100644 } } --- -1.7.10.4 - diff --git a/debian/patches/105_nvidia_fglrx_autodetect.patch b/debian/patches/105_nvidia_fglrx_autodetect.patch index 1d08205..5462eb1 100644 --- a/debian/patches/105_nvidia_fglrx_autodetect.patch +++ b/debian/patches/105_nvidia_fglrx_autodetect.patch @@ -1,8 +1,6 @@ -diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c -index 43c746b..750b425 100644 --- a/hw/xfree86/common/xf86AutoConfig.c +++ b/hw/xfree86/common/xf86AutoConfig.c -@@ -75,6 +75,13 @@ +@@ -76,6 +76,13 @@ "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \ "EndSection\n\n" @@ -16,7 +14,7 @@ index 43c746b..750b425 100644 #define BUILTIN_LAYOUT_SECTION_PRE \ "Section \"ServerLayout\"\n" \ "\tIdentifier\t\"Builtin Default Layout\"\n" -@@ -153,7 +160,11 @@ xf86AutoConfig(void) +@@ -154,7 +161,11 @@ xf86AutoConfig(void) for (p = deviceList; *p; p++) { snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p); AppendToConfig(buf); @@ -29,11 +27,9 @@ index 43c746b..750b425 100644 AppendToConfig(buf); } -diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c -index e52f1da..bd62a7e 100644 --- a/hw/xfree86/common/xf86pciBus.c +++ b/hw/xfree86/common/xf86pciBus.c -@@ -1107,7 +1107,8 @@ videoPtrToDriverList(struct pci_device *dev, +@@ -1132,7 +1132,8 @@ xf86VideoPtrToDriverList(struct pci_devi driverList[0] = "ast"; break; case 0x1002: @@ -43,7 +39,7 @@ index e52f1da..bd62a7e 100644 break; case 0x102c: driverList[0] = "chips"; -@@ -1143,6 +1144,7 @@ videoPtrToDriverList(struct pci_device *dev, +@@ -1216,6 +1217,7 @@ xf86VideoPtrToDriverList(struct pci_devi { int idx = 0; diff --git a/debian/patches/111_armel-drv-fallbacks.patch b/debian/patches/111_armel-drv-fallbacks.patch index bc76c4e..ccbbdc4 100644 --- a/debian/patches/111_armel-drv-fallbacks.patch +++ b/debian/patches/111_armel-drv-fallbacks.patch @@ -1,5 +1,3 @@ -diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c -index 55412b4..d4a95d2 100644 --- a/hw/xfree86/common/xf86AutoConfig.c +++ b/hw/xfree86/common/xf86AutoConfig.c @@ -45,6 +45,12 @@ @@ -43,9 +41,9 @@ index 55412b4..d4a95d2 100644 static void listPossibleVideoDrivers(char *matches[], int nmatches) { -@@ -287,6 +314,21 @@ listPossibleVideoDrivers(char *matches[], int nmatches) +@@ -279,6 +306,21 @@ listPossibleVideoDrivers(char *matches[] + i = xf86PciMatchDriver(matches, nmatches); #endif - } +#if defined(__linux__) && defined(__arm__) + if (i < (nmatches - 1)) { @@ -65,11 +63,9 @@ index 55412b4..d4a95d2 100644 #if defined(__linux__) matches[i++] = xnfstrdup("modesetting"); #endif -diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c -index 24b9473..0061c25 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c -@@ -362,6 +362,14 @@ xf86platformProbeDev(DriverPtr drvp) +@@ -372,6 +372,14 @@ xf86platformProbeDev(DriverPtr drvp) if (xf86IsPrimaryPlatform(&xf86_platform_devices[j])) break; } diff --git a/debian/patches/122_xext_fix_card32_overflow_in_xauth.patch b/debian/patches/122_xext_fix_card32_overflow_in_xauth.patch index 6f8cfab..46bafec 100644 --- a/debian/patches/122_xext_fix_card32_overflow_in_xauth.patch +++ b/debian/patches/122_xext_fix_card32_overflow_in_xauth.patch @@ -1,8 +1,6 @@ -diff --git a/Xext/security.c b/Xext/security.c -index 3699510..5e5a703 100644 --- a/Xext/security.c +++ b/Xext/security.c -@@ -260,9 +260,9 @@ SecurityComputeAuthorizationTimeout(SecurityAuthorizationPtr pAuth, +@@ -262,9 +262,9 @@ SecurityComputeAuthorizationTimeout(Secu /* maxSecs is the number of full seconds that can be expressed in * 32 bits worth of milliseconds */ @@ -14,7 +12,7 @@ index 3699510..5e5a703 100644 pAuth->secondsRemaining = seconds - maxSecs; return maxSecs * MILLI_PER_SECOND; } -@@ -296,8 +296,6 @@ SecurityAuthorizationExpired(OsTimerPtr timer, CARD32 time, pointer pval) +@@ -298,8 +298,6 @@ SecurityAuthorizationExpired(OsTimerPtr { SecurityAuthorizationPtr pAuth = (SecurityAuthorizationPtr) pval; diff --git a/debian/patches/168_glibc_trace_to_stderr.patch b/debian/patches/168_glibc_trace_to_stderr.patch index 4020d88..bcd777f 100644 --- a/debian/patches/168_glibc_trace_to_stderr.patch +++ b/debian/patches/168_glibc_trace_to_stderr.patch @@ -1,8 +1,6 @@ -diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index 0974893..797f054 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c -@@ -938,6 +938,9 @@ OsVendorInit(void) +@@ -993,6 +993,9 @@ OsVendorInit(void) if (!beenHere) { umask(022); diff --git a/debian/patches/188_default_primary_to_first_busid.patch b/debian/patches/188_default_primary_to_first_busid.patch index 99c33c0..93f47a7 100644 --- a/debian/patches/188_default_primary_to_first_busid.patch +++ b/debian/patches/188_default_primary_to_first_busid.patch @@ -1,5 +1,3 @@ -diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c -index e52f1da..462faa9 100644 --- a/hw/xfree86/common/xf86pciBus.c +++ b/hw/xfree86/common/xf86pciBus.c @@ -135,8 +135,8 @@ xf86PciProbe(void) diff --git a/debian/patches/190_cache-xkbcomp_output_for_fast_start_up.patch b/debian/patches/190_cache-xkbcomp_output_for_fast_start_up.patch index c5a08bc..16b6a1c 100644 --- a/debian/patches/190_cache-xkbcomp_output_for_fast_start_up.patch +++ b/debian/patches/190_cache-xkbcomp_output_for_fast_start_up.patch @@ -1,10 +1,8 @@ Last-Update: 2013-09-19 -Index: xorg-server-1.14.2.901/configure.ac -=================================================================== ---- xorg-server-1.14.2.901.orig/configure.ac 2013-09-19 11:43:53.948797077 -0400 -+++ xorg-server-1.14.2.901/configure.ac 2013-09-19 11:43:53.944797077 -0400 -@@ -517,9 +517,9 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -514,9 +514,9 @@ AC_MSG_RESULT([$FONTPATH]) AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]), [ XKBPATH="$withval" ], [ XKBPATH="${datadir}/X11/xkb" ]) @@ -16,7 +14,7 @@ Index: xorg-server-1.14.2.901/configure.ac AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES], [Keyboard ruleset (default: base/evdev)]), [ XKB_DFLT_RULES="$withval" ], -@@ -1225,7 +1225,7 @@ +@@ -1415,7 +1415,7 @@ AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN dnl Make sure XKM_OUTPUT_DIR is an absolute path XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1` if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then @@ -25,11 +23,9 @@ Index: xorg-server-1.14.2.901/configure.ac fi dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed -Index: xorg-server-1.14.2.901/xkb/README.compiled -=================================================================== ---- xorg-server-1.14.2.901.orig/xkb/README.compiled 2013-09-19 11:43:53.948797077 -0400 -+++ xorg-server-1.14.2.901/xkb/README.compiled 2013-09-19 11:43:53.944797077 -0400 -@@ -4,10 +4,10 @@ +--- a/xkb/README.compiled ++++ b/xkb/README.compiled +@@ -4,10 +4,10 @@ current keymap and/or any scratch keymap or some other tool might destroy or replace the files in this directory, so it is not a safe place to store compiled keymaps for long periods of time. The default keymap for any server is usually stored in: @@ -44,11 +40,9 @@ Index: xorg-server-1.14.2.901/xkb/README.compiled Unless the X server is modified, sharing this directory between servers on different hosts could cause problems. -Index: xorg-server-1.14.2.901/xkb/ddxLoad.c -=================================================================== ---- xorg-server-1.14.2.901.orig/xkb/ddxLoad.c 2013-09-19 11:43:53.948797077 -0400 -+++ xorg-server-1.14.2.901/xkb/ddxLoad.c 2013-09-19 11:51:04.744800715 -0400 -@@ -30,6 +30,12 @@ +--- a/xkb/ddxLoad.c ++++ b/xkb/ddxLoad.c +@@ -30,6 +30,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include @@ -61,7 +55,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c #include #include #include -@@ -43,20 +49,9 @@ +@@ -43,20 +49,9 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #define XKBSRV_NEED_FILE_FUNCS #include #include @@ -83,7 +77,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c #define PRE_ERROR_MSG "\"The XKEYBOARD keymap compiler (xkbcomp) reports:\"" #define ERROR_PREFIX "\"> \"" #define POST_ERROR_MSG1 "\"Errors from xkbcomp are not fatal to the X server\"" -@@ -69,35 +64,87 @@ +@@ -69,35 +64,87 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #endif static void @@ -174,7 +168,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c const char *emptystring = ""; char *xkbbasedirflag = NULL; -@@ -108,14 +155,68 @@ +@@ -108,14 +155,68 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk /* WIN32 has no popen. The input must be stored in a file which is used as input for xkbcomp. xkbcomp does not read from stdin. */ char tmpname[PATH_MAX]; @@ -247,7 +241,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c #ifdef WIN32 strcpy(tmpname, Win32TempDir()); -@@ -139,15 +240,21 @@ +@@ -139,15 +240,21 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk } } @@ -272,7 +266,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c buf = NULL; free(xkbbasedirflag); -@@ -158,6 +265,11 @@ +@@ -158,6 +265,11 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk return FALSE; } @@ -284,7 +278,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c #ifndef WIN32 out = Popen(buf, "w"); #else -@@ -165,32 +277,43 @@ +@@ -165,32 +277,43 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk #endif if (out != NULL) { @@ -339,7 +333,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c #ifdef WIN32 /* remove the temporary file */ unlink(tmpname); -@@ -205,8 +328,17 @@ +@@ -205,8 +328,17 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk } if (nameRtrn) nameRtrn[0] = '\0'; @@ -359,7 +353,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c } static FILE * -@@ -217,7 +349,7 @@ +@@ -217,7 +349,7 @@ XkbDDXOpenConfigFile(char *mapName, char buf[0] = '\0'; if (mapName != NULL) { @@ -368,7 +362,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c if ((XkbBaseDirectory != NULL) && (xkm_output_dir[0] != '/') #ifdef WIN32 && (!isalpha(xkm_output_dir[0]) || xkm_output_dir[1] != ':') -@@ -256,6 +388,7 @@ +@@ -256,6 +388,7 @@ XkbDDXLoadKeymapByNames(DeviceIntPtr key FILE *file; char fileName[PATH_MAX]; unsigned missing; @@ -376,7 +370,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c *xkbRtrn = NULL; if ((keybd == NULL) || (keybd->key == NULL) || -@@ -271,7 +404,8 @@ +@@ -271,7 +404,8 @@ XkbDDXLoadKeymapByNames(DeviceIntPtr key return 0; } else if (!XkbDDXCompileKeymapByNames(xkb, names, want, need, @@ -386,7 +380,7 @@ Index: xorg-server-1.14.2.901/xkb/ddxLoad.c LogMessage(X_ERROR, "XKB: Couldn't compile keymap\n"); return 0; } -@@ -293,7 +427,8 @@ +@@ -293,7 +427,8 @@ XkbDDXLoadKeymapByNames(DeviceIntPtr key (*xkbRtrn)->defined); } fclose(file); diff --git a/debian/patches/191-Xorg-add-an-extra-module-path.patch b/debian/patches/191-Xorg-add-an-extra-module-path.patch index 6ff6c30..99d153d 100644 --- a/debian/patches/191-Xorg-add-an-extra-module-path.patch +++ b/debian/patches/191-Xorg-add-an-extra-module-path.patch @@ -1,8 +1,6 @@ -diff --git a/configure.ac b/configure.ac -index 2693ce7..44780a2 100644 --- a/configure.ac +++ b/configure.ac -@@ -467,6 +467,10 @@ AC_ARG_WITH(module-dir, AS_HELP_STRING([--with-module-dir=DIR], +@@ -466,6 +466,10 @@ AC_ARG_WITH(module-dir, AS_HELP_STR [Directory where modules are installed (default: $libdir/xorg/modules)]), [ moduledir="$withval" ], [ moduledir="${libdir}/xorg/modules" ]) @@ -13,7 +11,7 @@ index 2693ce7..44780a2 100644 AC_ARG_WITH(log-dir, AS_HELP_STRING([--with-log-dir=DIR], [Directory where log files are kept (default: $localstatedir/log)]), [ logdir="$withval" ], -@@ -1751,6 +1755,7 @@ if test "x$XORG" = xyes; then +@@ -2039,6 +2043,7 @@ if test "x$XORG" = xyes; then AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file]) AC_DEFINE_DIR(__XCONFIGDIR__, XF86CONFIGDIR, [Name of configuration directory]) AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path]) @@ -21,11 +19,9 @@ index 2693ce7..44780a2 100644 AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path]) AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location]) AC_DEFINE_UNQUOTED(__VENDORDWEBSUPPORT__, ["$VENDOR_WEB"], [Vendor web address for support]) -diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c -index ec679df..8ae85ab 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c -@@ -647,11 +647,22 @@ configFiles(XF86ConfFilesPtr fileconf) +@@ -640,11 +640,22 @@ configFiles(XF86ConfFilesPtr fileconf) /* ModulePath */ @@ -50,11 +46,9 @@ index ec679df..8ae85ab 100644 } xf86Msg(xf86ModPathFrom, "ModulePath set to \"%s\"\n", xf86ModulePath); -diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c -index 0071004..13c403f 100644 --- a/hw/xfree86/common/xf86Globals.c +++ b/hw/xfree86/common/xf86Globals.c -@@ -136,6 +136,7 @@ xf86InfoRec xf86Info = { +@@ -143,6 +143,7 @@ xf86InfoRec xf86Info = { const char *xf86ConfigFile = NULL; const char *xf86ConfigDir = NULL; const char *xf86ModulePath = DEFAULT_MODULE_PATH; @@ -62,11 +56,9 @@ index 0071004..13c403f 100644 MessageType xf86ModPathFrom = X_DEFAULT; const char *xf86LogFile = DEFAULT_LOGPREFIX; MessageType xf86LogFileFrom = X_DEFAULT; -diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h -index 8d9cb55..fc057b3 100644 --- a/hw/xfree86/common/xf86Priv.h +++ b/hw/xfree86/common/xf86Priv.h -@@ -77,6 +77,7 @@ extern _X_EXPORT const char *xf86ServerName; +@@ -77,6 +77,7 @@ extern _X_EXPORT const char *xf86ServerN extern _X_EXPORT xf86InfoRec xf86Info; extern _X_EXPORT const char *xf86ModulePath; @@ -74,8 +66,6 @@ index 8d9cb55..fc057b3 100644 extern _X_EXPORT MessageType xf86ModPathFrom; extern _X_EXPORT const char *xf86LogFile; extern _X_EXPORT MessageType xf86LogFileFrom; -diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in -index 2cc416a..4722023 100644 --- a/include/xorg-config.h.in +++ b/include/xorg-config.h.in @@ -42,6 +42,9 @@ diff --git a/debian/patches/208_switch_on_release.diff b/debian/patches/208_switch_on_release.diff index d1f7d26..6e33d8e 100644 --- a/debian/patches/208_switch_on_release.diff +++ b/debian/patches/208_switch_on_release.diff @@ -1,8 +1,6 @@ -diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c -index c473df1..0ac2c71 100644 --- a/xkb/xkbActions.c +++ b/xkb/xkbActions.c -@@ -341,22 +341,83 @@ _XkbFilterLatchState(XkbSrvInfoPtr xkbi, +@@ -351,22 +351,83 @@ _XkbFilterLatchState(XkbSrvInfoPtr xkbi, } static int @@ -94,7 +92,7 @@ index c473df1..0ac2c71 100644 filter->upAction = *pAction; if (!(filter->upAction.mods.flags & XkbSA_LockNoLock)) xkbi->state.locked_mods |= pAction->mods.mask; -@@ -1129,9 +1190,12 @@ XkbHandleActions(DeviceIntPtr dev, DeviceIntPtr kbd, DeviceEvent *event) +@@ -1185,9 +1246,12 @@ XkbHandleActions(DeviceIntPtr dev, Devic sendEvent = _XkbFilterLatchState(xkbi, filter, key, &act); break; case XkbSA_LockMods: diff --git a/debian/patches/226_fall_back_to_autoconfiguration.patch b/debian/patches/226_fall_back_to_autoconfiguration.patch index 70fa7e5..1951400 100644 --- a/debian/patches/226_fall_back_to_autoconfiguration.patch +++ b/debian/patches/226_fall_back_to_autoconfiguration.patch @@ -1,6 +1,6 @@ --- a/hw/xfree86/common/xf86Globals.c +++ b/hw/xfree86/common/xf86Globals.c -@@ -161,6 +161,7 @@ +@@ -162,6 +162,7 @@ InputDriverPtr *xf86InputDriverList = NU int xf86NumInputDrivers = 0; int xf86NumScreens = 0; int xf86NumGPUScreens = 0; @@ -10,7 +10,7 @@ "StaticGray", --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c -@@ -481,20 +481,34 @@ +@@ -482,20 +482,34 @@ InitOutput(ScreenInfo * pScreenInfo, int free(optionlist); } @@ -48,9 +48,9 @@ } /* Load all input driver modules specified in the config file. */ -@@ -554,8 +568,15 @@ - else - xf86Info.dontVTSwitch = TRUE; +@@ -557,8 +571,15 @@ InitOutput(ScreenInfo * pScreenInfo, int + if (want_hw_access) + xorgHWAccess = xf86EnableIO(); - if (xf86BusConfig() == FALSE) - return; @@ -68,7 +68,7 @@ --- a/hw/xfree86/common/xf86Priv.h +++ b/hw/xfree86/common/xf86Priv.h -@@ -89,6 +89,7 @@ +@@ -89,6 +89,7 @@ extern _X_EXPORT int xf86NumDrivers; extern _X_EXPORT Bool xf86Resetting; extern _X_EXPORT Bool xf86Initialising; extern _X_EXPORT int xf86NumScreens; diff --git a/debian/patches/227_null_ptr_midispcur.patch b/debian/patches/227_null_ptr_midispcur.patch index 4b26c16..f389047 100644 --- a/debian/patches/227_null_ptr_midispcur.patch +++ b/debian/patches/227_null_ptr_midispcur.patch @@ -1,8 +1,6 @@ -diff --git a/mi/midispcur.c b/mi/midispcur.c -index 24b9a70..266c7e0 100644 --- a/mi/midispcur.c +++ b/mi/midispcur.c -@@ -466,6 +466,10 @@ miDCRestoreUnderCursor(DeviceIntPtr pDev, ScreenPtr pScreen, +@@ -435,6 +435,10 @@ miDCRestoreUnderCursor(DeviceIntPtr pDev GCPtr pGC; pBuffer = miGetDCDevice(pDev, pScreen); diff --git a/debian/patches/228_autobind_gpu.patch b/debian/patches/228_autobind_gpu.patch index e950c9d..4d16433 100644 --- a/debian/patches/228_autobind_gpu.patch +++ b/debian/patches/228_autobind_gpu.patch @@ -15,8 +15,6 @@ DO NOT UPSTREAM. hw/xfree86/modes/xf86Crtc.c | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 0 deletions(-) -diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index d231ced..89629c1 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -361,6 +361,16 @@ xf86CreateRootWindow(WindowPtr pWin) @@ -36,7 +34,7 @@ index d231ced..89629c1 100644 static void InstallSignalHandlers(void) { -@@ -926,6 +936,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) +@@ -951,6 +961,8 @@ InitOutput(ScreenInfo * pScreenInfo, int for (i = 0; i < xf86NumGPUScreens; i++) AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen); @@ -45,11 +43,9 @@ index d231ced..89629c1 100644 xf86VGAarbiterWrapFunctions(); if (sigio_blocked) OsReleaseSIGIO(); -diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c -index 0525e39..82fef32 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c -@@ -387,6 +387,8 @@ xf86platformProbeDev(DriverPtr drvp) +@@ -401,6 +401,8 @@ xf86platformProbeDev(DriverPtr drvp) return foundScreen; } @@ -58,19 +54,17 @@ index 0525e39..82fef32 100644 int xf86platformAddDevice(int index) { -@@ -446,6 +448,7 @@ xf86platformAddDevice(int index) - +@@ -473,6 +475,7 @@ xf86platformAddDevice(int index) + } /* attach unbound to 0 protocol screen */ AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen); + xf86AutoConfigOutputDevice(xf86GPUScreens[i], xf86Screens[0]); - return 0; - } -diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c -index 3011f13..34c1848 100644 + RRResourcesChanged(xf86Screens[0]->pScreen); + RRTellChanged(xf86Screens[0]->pScreen); --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c -@@ -3323,3 +3323,35 @@ xf86DetachAllCrtc(ScrnInfoPtr scrn) +@@ -3383,3 +3383,35 @@ xf86DetachAllCrtc(ScrnInfoPtr scrn) crtc->x = crtc->y = 0; } } @@ -106,6 +100,3 @@ index 3011f13..34c1848 100644 + slave_config->randr_provider->output_source = master_provider; + } +} --- -1.8.1 - diff --git a/debian/patches/232-xf86compatoutput-valgrind.patch b/debian/patches/232-xf86compatoutput-valgrind.patch index 8d59186..1c20fcb 100644 --- a/debian/patches/232-xf86compatoutput-valgrind.patch +++ b/debian/patches/232-xf86compatoutput-valgrind.patch @@ -1,8 +1,6 @@ -diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h -index 802303f..6e80210 100644 --- a/hw/xfree86/modes/xf86Crtc.h +++ b/hw/xfree86/modes/xf86Crtc.h -@@ -730,6 +730,8 @@ static _X_INLINE xf86OutputPtr +@@ -727,6 +727,8 @@ static _X_INLINE xf86OutputPtr xf86CompatOutput(ScrnInfoPtr pScrn) { xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); diff --git a/debian/patches/CVE-2014-8xxx/0000-glx-check-return.patch b/debian/patches/CVE-2014-8xxx/0000-glx-check-return.patch index a652174..5da8872 100644 --- a/debian/patches/CVE-2014-8xxx/0000-glx-check-return.patch +++ b/debian/patches/CVE-2014-8xxx/0000-glx-check-return.patch @@ -8,11 +8,9 @@ This function can return NULL; make sure every caller tests for that. Reviewed-by: Adam Jackson Signed-off-by: Keith Packard -diff --git a/glx/indirect_dispatch.c b/glx/indirect_dispatch.c -index 329b2e6..f6cabef 100644 --- a/glx/indirect_dispatch.c +++ b/glx/indirect_dispatch.c -@@ -2464,6 +2464,9 @@ __glXDisp_AreTexturesResident(__GLXclientState * cl, GLbyte * pc) +@@ -2464,6 +2464,9 @@ __glXDisp_AreTexturesResident(__GLXclien GLboolean answerBuffer[200]; GLboolean *residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); @@ -22,7 +20,7 @@ index 329b2e6..f6cabef 100644 retval = glAreTexturesResident(n, (const GLuint *) (pc + 4), residences); __glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval); -@@ -2488,6 +2491,9 @@ __glXDisp_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc) +@@ -2488,6 +2491,9 @@ __glXDisp_AreTexturesResidentEXT(__GLXcl GLboolean answerBuffer[200]; GLboolean *residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); @@ -32,7 +30,7 @@ index 329b2e6..f6cabef 100644 retval = glAreTexturesResident(n, (const GLuint *) (pc + 4), residences); __glXSendReply(cl->client, residences, n, 1, GL_TRUE, retval); -@@ -2593,6 +2599,9 @@ __glXDisp_GenTextures(__GLXclientState * cl, GLbyte * pc) +@@ -2593,6 +2599,9 @@ __glXDisp_GenTextures(__GLXclientState * GLuint *textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -42,7 +40,7 @@ index 329b2e6..f6cabef 100644 glGenTextures(n, textures); __glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0); error = Success; -@@ -2616,6 +2625,9 @@ __glXDisp_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc) +@@ -2616,6 +2625,9 @@ __glXDisp_GenTexturesEXT(__GLXclientStat GLuint *textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -52,7 +50,7 @@ index 329b2e6..f6cabef 100644 glGenTextures(n, textures); __glXSendReply(cl->client, textures, n, 4, GL_TRUE, 0); error = Success; -@@ -3883,6 +3895,9 @@ __glXDisp_GenQueries(__GLXclientState * cl, GLbyte * pc) +@@ -3883,6 +3895,9 @@ __glXDisp_GenQueries(__GLXclientState * GLuint *ids = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -62,7 +60,7 @@ index 329b2e6..f6cabef 100644 GenQueries(n, ids); __glXSendReply(cl->client, ids, n, 4, GL_TRUE, 0); error = Success; -@@ -4253,6 +4268,9 @@ __glXDisp_GenProgramsARB(__GLXclientState * cl, GLbyte * pc) +@@ -4253,6 +4268,9 @@ __glXDisp_GenProgramsARB(__GLXclientStat GLuint *programs = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -72,7 +70,7 @@ index 329b2e6..f6cabef 100644 GenProgramsARB(n, programs); __glXSendReply(cl->client, programs, n, 4, GL_TRUE, 0); error = Success; -@@ -4630,6 +4648,10 @@ __glXDisp_GenFramebuffers(__GLXclientState * cl, GLbyte * pc) +@@ -4630,6 +4648,10 @@ __glXDisp_GenFramebuffers(__GLXclientSta GLuint *framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -83,7 +81,7 @@ index 329b2e6..f6cabef 100644 GenFramebuffers(n, framebuffers); __glXSendReply(cl->client, framebuffers, n, 4, GL_TRUE, 0); error = Success; -@@ -4655,6 +4677,9 @@ __glXDisp_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc) +@@ -4655,6 +4677,9 @@ __glXDisp_GenRenderbuffers(__GLXclientSt GLuint *renderbuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -93,11 +91,9 @@ index 329b2e6..f6cabef 100644 GenRenderbuffers(n, renderbuffers); __glXSendReply(cl->client, renderbuffers, n, 4, GL_TRUE, 0); error = Success; -diff --git a/glx/indirect_dispatch_swap.c b/glx/indirect_dispatch_swap.c -index 647d0c9..c0bb64d 100644 --- a/glx/indirect_dispatch_swap.c +++ b/glx/indirect_dispatch_swap.c -@@ -2731,6 +2731,9 @@ __glXDispSwap_AreTexturesResident(__GLXclientState * cl, GLbyte * pc) +@@ -2731,6 +2731,9 @@ __glXDispSwap_AreTexturesResident(__GLXc GLboolean answerBuffer[200]; GLboolean *residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); @@ -107,7 +103,7 @@ index 647d0c9..c0bb64d 100644 retval = glAreTexturesResident(n, (const GLuint *) -@@ -2759,6 +2762,9 @@ __glXDispSwap_AreTexturesResidentEXT(__GLXclientState * cl, GLbyte * pc) +@@ -2759,6 +2762,9 @@ __glXDispSwap_AreTexturesResidentEXT(__G GLboolean answerBuffer[200]; GLboolean *residences = __glXGetAnswerBuffer(cl, n, answerBuffer, sizeof(answerBuffer), 1); @@ -117,7 +113,7 @@ index 647d0c9..c0bb64d 100644 retval = glAreTexturesResident(n, (const GLuint *) -@@ -2878,6 +2884,9 @@ __glXDispSwap_GenTextures(__GLXclientState * cl, GLbyte * pc) +@@ -2878,6 +2884,9 @@ __glXDispSwap_GenTextures(__GLXclientSta GLuint *textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -127,7 +123,7 @@ index 647d0c9..c0bb64d 100644 glGenTextures(n, textures); (void) bswap_32_array((uint32_t *) textures, n); __glXSendReplySwap(cl->client, textures, n, 4, GL_TRUE, 0); -@@ -2903,6 +2912,9 @@ __glXDispSwap_GenTexturesEXT(__GLXclientState * cl, GLbyte * pc) +@@ -2903,6 +2912,9 @@ __glXDispSwap_GenTexturesEXT(__GLXclient GLuint *textures = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -137,7 +133,7 @@ index 647d0c9..c0bb64d 100644 glGenTextures(n, textures); (void) bswap_32_array((uint32_t *) textures, n); __glXSendReplySwap(cl->client, textures, n, 4, GL_TRUE, 0); -@@ -4290,6 +4302,9 @@ __glXDispSwap_GenQueries(__GLXclientState * cl, GLbyte * pc) +@@ -4290,6 +4302,9 @@ __glXDispSwap_GenQueries(__GLXclientStat GLuint *ids = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -147,7 +143,7 @@ index 647d0c9..c0bb64d 100644 GenQueries(n, ids); (void) bswap_32_array((uint32_t *) ids, n); __glXSendReplySwap(cl->client, ids, n, 4, GL_TRUE, 0); -@@ -4697,6 +4712,9 @@ __glXDispSwap_GenProgramsARB(__GLXclientState * cl, GLbyte * pc) +@@ -4697,6 +4712,9 @@ __glXDispSwap_GenProgramsARB(__GLXclient GLuint *programs = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -157,7 +153,7 @@ index 647d0c9..c0bb64d 100644 GenProgramsARB(n, programs); (void) bswap_32_array((uint32_t *) programs, n); __glXSendReplySwap(cl->client, programs, n, 4, GL_TRUE, 0); -@@ -5122,6 +5140,10 @@ __glXDispSwap_GenFramebuffers(__GLXclientState * cl, GLbyte * pc) +@@ -5122,6 +5140,10 @@ __glXDispSwap_GenFramebuffers(__GLXclien GLuint *framebuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -168,7 +164,7 @@ index 647d0c9..c0bb64d 100644 GenFramebuffers(n, framebuffers); (void) bswap_32_array((uint32_t *) framebuffers, n); __glXSendReplySwap(cl->client, framebuffers, n, 4, GL_TRUE, 0); -@@ -5149,6 +5171,10 @@ __glXDispSwap_GenRenderbuffers(__GLXclientState * cl, GLbyte * pc) +@@ -5149,6 +5171,10 @@ __glXDispSwap_GenRenderbuffers(__GLXclie GLuint *renderbuffers = __glXGetAnswerBuffer(cl, n * 4, answerBuffer, sizeof(answerBuffer), 4); @@ -179,6 +175,3 @@ index 647d0c9..c0bb64d 100644 GenRenderbuffers(n, renderbuffers); (void) bswap_32_array((uint32_t *) renderbuffers, n); __glXSendReplySwap(cl->client, renderbuffers, n, 4, GL_TRUE, 0); --- -cgit v0.10.2 - diff --git a/debian/patches/CVE-2014-8xxx/0000-regionsize-size_t.patch b/debian/patches/CVE-2014-8xxx/0000-regionsize-size_t.patch index 12025f6..f7d4333 100644 --- a/debian/patches/CVE-2014-8xxx/0000-regionsize-size_t.patch +++ b/debian/patches/CVE-2014-8xxx/0000-regionsize-size_t.patch @@ -13,8 +13,6 @@ someone to fix it. Signed-off-by: Peter Hutterer -diff --git a/include/regionstr.h b/include/regionstr.h -index 4a0725d..515e93f 100644 --- a/include/regionstr.h +++ b/include/regionstr.h @@ -125,7 +125,7 @@ RegionEnd(RegionPtr reg) @@ -26,6 +24,3 @@ index 4a0725d..515e93f 100644 { return (sizeof(RegDataRec) + ((n) * sizeof(BoxRec))); } --- -cgit v0.10.2 - diff --git a/debian/patches/CVE-2014-8xxx/0001-unchecked-malloc-may-allow-unauthed-client-to-crash-.patch b/debian/patches/CVE-2014-8xxx/0001-unchecked-malloc-may-allow-unauthed-client-to-crash-.patch index b5fbb7d..6ac816e 100644 --- a/debian/patches/CVE-2014-8xxx/0001-unchecked-malloc-may-allow-unauthed-client-to-crash-.patch +++ b/debian/patches/CVE-2014-8xxx/0001-unchecked-malloc-may-allow-unauthed-client-to-crash-.patch @@ -20,11 +20,9 @@ Reviewed-by: Peter Hutterer os/rpcauth.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/os/rpcauth.c b/os/rpcauth.c -index d60ea35..413cc61 100644 --- a/os/rpcauth.c +++ b/os/rpcauth.c -@@ -66,6 +66,10 @@ authdes_ezdecode(const char *inmsg, int len) +@@ -66,6 +66,10 @@ authdes_ezdecode(const char *inmsg, int SVCXPRT xprt; temp_inmsg = malloc(len); @@ -35,6 +33,3 @@ index d60ea35..413cc61 100644 memmove(temp_inmsg, inmsg, len); memset((char *) &msg, 0, sizeof(msg)); --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0002-dix-integer-overflow-in-ProcPutImage-CVE-2014-8092-1.patch b/debian/patches/CVE-2014-8xxx/0002-dix-integer-overflow-in-ProcPutImage-CVE-2014-8092-1.patch index 085109a..6f621d5 100644 --- a/debian/patches/CVE-2014-8xxx/0002-dix-integer-overflow-in-ProcPutImage-CVE-2014-8092-1.patch +++ b/debian/patches/CVE-2014-8xxx/0002-dix-integer-overflow-in-ProcPutImage-CVE-2014-8092-1.patch @@ -18,11 +18,9 @@ Reviewed-by: Peter Hutterer dix/dispatch.c | 3 +++ 1 file changed, 3 insertions(+) -Index: xorg-server-1.15.1/dix/dispatch.c -=================================================================== ---- xorg-server-1.15.1.orig/dix/dispatch.c 2014-12-04 11:52:11.007847226 -0500 -+++ xorg-server-1.15.1/dix/dispatch.c 2014-12-04 11:52:10.975847036 -0500 -@@ -1957,6 +1957,9 @@ +--- a/dix/dispatch.c ++++ b/dix/dispatch.c +@@ -1957,6 +1957,9 @@ ProcPutImage(ClientPtr client) tmpImage = (char *) &stuff[1]; lengthProto = length; diff --git a/debian/patches/CVE-2014-8xxx/0003-dix-integer-overflow-in-GetHosts-CVE-2014-8092-2-4.patch b/debian/patches/CVE-2014-8xxx/0003-dix-integer-overflow-in-GetHosts-CVE-2014-8092-2-4.patch index d5f2d75..ecc8aed 100644 --- a/debian/patches/CVE-2014-8xxx/0003-dix-integer-overflow-in-GetHosts-CVE-2014-8092-2-4.patch +++ b/debian/patches/CVE-2014-8xxx/0003-dix-integer-overflow-in-GetHosts-CVE-2014-8092-2-4.patch @@ -21,11 +21,9 @@ Reviewed-by: Peter Hutterer os/access.c | 6 ++++++ 1 file changed, 6 insertions(+) -Index: xorg-server-1.16.0/os/access.c -=================================================================== ---- xorg-server-1.16.0.orig/os/access.c 2014-12-04 11:11:43.752542885 -0500 -+++ xorg-server-1.16.0/os/access.c 2014-12-04 11:11:43.748542843 -0500 -@@ -1323,6 +1323,10 @@ +--- a/os/access.c ++++ b/os/access.c +@@ -1323,6 +1323,10 @@ GetHosts(pointer *data, int *pnHosts, in for (host = validhosts; host; host = host->next) { nHosts++; n += pad_to_int32(host->len) + sizeof(xHostEntry); @@ -36,7 +34,7 @@ Index: xorg-server-1.16.0/os/access.c } if (n) { *data = ptr = malloc(n); -@@ -1331,6 +1335,8 @@ +@@ -1331,6 +1335,8 @@ GetHosts(pointer *data, int *pnHosts, in } for (host = validhosts; host; host = host->next) { len = host->len; diff --git a/debian/patches/CVE-2014-8xxx/0004-dix-integer-overflow-in-RegionSizeof-CVE-2014-8092-3.patch b/debian/patches/CVE-2014-8xxx/0004-dix-integer-overflow-in-RegionSizeof-CVE-2014-8092-3.patch index 552bd8b..098ae86 100644 --- a/debian/patches/CVE-2014-8xxx/0004-dix-integer-overflow-in-RegionSizeof-CVE-2014-8092-3.patch +++ b/debian/patches/CVE-2014-8xxx/0004-dix-integer-overflow-in-RegionSizeof-CVE-2014-8092-3.patch @@ -19,11 +19,9 @@ Reviewed-by: Julien Cristau include/regionstr.h | 10 +++++++--- 2 files changed, 20 insertions(+), 10 deletions(-) -Index: xorg-server-1.15.1/dix/region.c -=================================================================== ---- xorg-server-1.15.1.orig/dix/region.c 2014-12-05 08:24:42.034665485 -0500 -+++ xorg-server-1.15.1/dix/region.c 2014-12-05 08:24:42.030665458 -0500 -@@ -169,7 +169,6 @@ +--- a/dix/region.c ++++ b/dix/region.c +@@ -169,7 +169,6 @@ Equipment Corporation. ((r1)->y1 <= (r2)->y1) && \ ((r1)->y2 >= (r2)->y2) ) @@ -31,7 +29,7 @@ Index: xorg-server-1.15.1/dix/region.c #define xfreeData(reg) if ((reg)->data && (reg)->data->size) free((reg)->data) #define RECTALLOC_BAIL(pReg,n,bail) \ -@@ -205,8 +204,9 @@ +@@ -205,8 +204,9 @@ if (!(pReg)->data || (((pReg)->data->num #define DOWNSIZE(reg,numRects) \ if (((numRects) < ((reg)->data->size >> 1)) && ((reg)->data->size > 50)) \ { \ @@ -43,7 +41,7 @@ Index: xorg-server-1.15.1/dix/region.c if (NewData) \ { \ NewData->size = (numRects); \ -@@ -345,17 +345,20 @@ +@@ -345,17 +345,20 @@ Bool RegionRectAlloc(RegionPtr pRgn, int n) { RegDataPtr data; @@ -66,7 +64,7 @@ Index: xorg-server-1.15.1/dix/region.c if (!pRgn->data) return RegionBreak(pRgn); pRgn->data->numRects = 0; -@@ -367,7 +370,8 @@ +@@ -367,7 +370,8 @@ RegionRectAlloc(RegionPtr pRgn, int n) n = 250; } n += pRgn->data->numRects; @@ -76,7 +74,7 @@ Index: xorg-server-1.15.1/dix/region.c if (!data) return RegionBreak(pRgn); pRgn->data = data; -@@ -1312,6 +1316,7 @@ +@@ -1312,6 +1316,7 @@ RegionFromRects(int nrects, xRectangle * { RegionPtr pRgn; @@ -84,7 +82,7 @@ Index: xorg-server-1.15.1/dix/region.c RegDataPtr pData; BoxPtr pBox; int i; -@@ -1338,7 +1343,8 @@ +@@ -1338,7 +1343,8 @@ RegionFromRects(int nrects, xRectangle * } return pRgn; } @@ -94,11 +92,9 @@ Index: xorg-server-1.15.1/dix/region.c if (!pData) { RegionBreak(pRgn); return pRgn; -Index: xorg-server-1.15.1/include/regionstr.h -=================================================================== ---- xorg-server-1.15.1.orig/include/regionstr.h 2014-12-05 08:24:42.034665485 -0500 -+++ xorg-server-1.15.1/include/regionstr.h 2014-12-05 08:24:42.030665458 -0500 -@@ -127,7 +127,10 @@ +--- a/include/regionstr.h ++++ b/include/regionstr.h +@@ -127,7 +127,10 @@ RegionEnd(RegionPtr reg) static inline size_t RegionSizeof(size_t n) { @@ -110,7 +106,7 @@ Index: xorg-server-1.15.1/include/regionstr.h } static inline void -@@ -138,9 +141,10 @@ +@@ -138,9 +141,10 @@ RegionInit(RegionPtr _pReg, BoxPtr _rect (_pReg)->data = (RegDataPtr) NULL; } else { diff --git a/debian/patches/CVE-2014-8xxx/0005-dix-integer-overflow-in-REQUEST_FIXED_SIZE-CVE-2014-.patch b/debian/patches/CVE-2014-8xxx/0005-dix-integer-overflow-in-REQUEST_FIXED_SIZE-CVE-2014-.patch index 1009488..40b0160 100644 --- a/debian/patches/CVE-2014-8xxx/0005-dix-integer-overflow-in-REQUEST_FIXED_SIZE-CVE-2014-.patch +++ b/debian/patches/CVE-2014-8xxx/0005-dix-integer-overflow-in-REQUEST_FIXED_SIZE-CVE-2014-.patch @@ -15,8 +15,6 @@ Reviewed-by: Peter Hutterer include/dix.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/include/dix.h b/include/dix.h -index 991a3ce..e0c6ed8 100644 --- a/include/dix.h +++ b/include/dix.h @@ -76,7 +76,8 @@ SOFTWARE. @@ -29,6 +27,3 @@ index 991a3ce..e0c6ed8 100644 return(BadLength) #define LEGAL_NEW_RESOURCE(id,client)\ --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0006-dri2-integer-overflow-in-ProcDRI2GetBuffers-CVE-2014.patch b/debian/patches/CVE-2014-8xxx/0006-dri2-integer-overflow-in-ProcDRI2GetBuffers-CVE-2014.patch index 430e956..bb06a4d 100644 --- a/debian/patches/CVE-2014-8xxx/0006-dri2-integer-overflow-in-ProcDRI2GetBuffers-CVE-2014.patch +++ b/debian/patches/CVE-2014-8xxx/0006-dri2-integer-overflow-in-ProcDRI2GetBuffers-CVE-2014.patch @@ -16,11 +16,9 @@ Reviewed-by: Julien Cristau hw/xfree86/dri2/dri2ext.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c -index ffd66fa..221ec53 100644 --- a/hw/xfree86/dri2/dri2ext.c +++ b/hw/xfree86/dri2/dri2ext.c -@@ -270,6 +270,9 @@ ProcDRI2GetBuffers(ClientPtr client) +@@ -278,6 +278,9 @@ ProcDRI2GetBuffers(ClientPtr client) unsigned int *attachments; REQUEST_FIXED_SIZE(xDRI2GetBuffersReq, stuff->count * 4); @@ -30,6 +28,3 @@ index ffd66fa..221ec53 100644 if (!validDrawable(client, stuff->drawable, DixReadAccess | DixWriteAccess, &pDrawable, &status)) return status; --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0007-dbe-unvalidated-lengths-in-DbeSwapBuffers-calls-CVE-.patch b/debian/patches/CVE-2014-8xxx/0007-dbe-unvalidated-lengths-in-DbeSwapBuffers-calls-CVE-.patch index 0167ec0..4c3cb8a 100644 --- a/debian/patches/CVE-2014-8xxx/0007-dbe-unvalidated-lengths-in-DbeSwapBuffers-calls-CVE-.patch +++ b/debian/patches/CVE-2014-8xxx/0007-dbe-unvalidated-lengths-in-DbeSwapBuffers-calls-CVE-.patch @@ -23,8 +23,6 @@ Reviewed-by: Peter Hutterer dbe/dbe.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) -diff --git a/dbe/dbe.c b/dbe/dbe.c -index 527588c..df2ad5c 100644 --- a/dbe/dbe.c +++ b/dbe/dbe.c @@ -450,18 +450,20 @@ ProcDbeSwapBuffers(ClientPtr client) @@ -68,6 +66,3 @@ index 527588c..df2ad5c 100644 if (stuff->n != 0) { pSwapInfo = (xDbeSwapInfo *) stuff + 1; --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0008-Xi-unvalidated-lengths-in-Xinput-extension-CVE-2014-.patch b/debian/patches/CVE-2014-8xxx/0008-Xi-unvalidated-lengths-in-Xinput-extension-CVE-2014-.patch index 421f070..dccaa03 100644 --- a/debian/patches/CVE-2014-8xxx/0008-Xi-unvalidated-lengths-in-Xinput-extension-CVE-2014-.patch +++ b/debian/patches/CVE-2014-8xxx/0008-Xi-unvalidated-lengths-in-Xinput-extension-CVE-2014-.patch @@ -37,11 +37,9 @@ Reviewed-by: Peter Hutterer include/dix.h | 4 ++++ 17 files changed, 94 insertions(+), 18 deletions(-) -diff --git a/Xi/chgdctl.c b/Xi/chgdctl.c -index d078aa2..b3ee867 100644 --- a/Xi/chgdctl.c +++ b/Xi/chgdctl.c -@@ -78,7 +78,7 @@ SProcXChangeDeviceControl(ClientPtr client) +@@ -78,7 +78,7 @@ SProcXChangeDeviceControl(ClientPtr clie REQUEST(xChangeDeviceControlReq); swaps(&stuff->length); @@ -50,7 +48,7 @@ index d078aa2..b3ee867 100644 swaps(&stuff->control); ctl = (xDeviceCtl *) &stuff[1]; swaps(&ctl->control); -@@ -115,7 +115,7 @@ ProcXChangeDeviceControl(ClientPtr client) +@@ -115,7 +115,7 @@ ProcXChangeDeviceControl(ClientPtr clien xDeviceEnableCtl *e; REQUEST(xChangeDeviceControlReq); @@ -59,7 +57,7 @@ index d078aa2..b3ee867 100644 len = stuff->length - bytes_to_int32(sizeof(xChangeDeviceControlReq)); ret = dixLookupDevice(&dev, stuff->deviceid, client, DixManageAccess); -@@ -192,6 +192,10 @@ ProcXChangeDeviceControl(ClientPtr client) +@@ -192,6 +192,10 @@ ProcXChangeDeviceControl(ClientPtr clien break; case DEVICE_ENABLE: e = (xDeviceEnableCtl *) &stuff[1]; @@ -70,11 +68,9 @@ index d078aa2..b3ee867 100644 if (IsXTestDevice(dev, NULL)) status = !Success; -diff --git a/Xi/chgfctl.c b/Xi/chgfctl.c -index 6dcf60c..224c2ba 100644 --- a/Xi/chgfctl.c +++ b/Xi/chgfctl.c -@@ -467,6 +467,8 @@ ProcXChangeFeedbackControl(ClientPtr client) +@@ -467,6 +467,8 @@ ProcXChangeFeedbackControl(ClientPtr cli xStringFeedbackCtl *f = ((xStringFeedbackCtl *) &stuff[1]); if (client->swapped) { @@ -83,11 +79,9 @@ index 6dcf60c..224c2ba 100644 swaps(&f->num_keysyms); } if (len != -diff --git a/Xi/sendexev.c b/Xi/sendexev.c -index 3c21386..183f88d 100644 --- a/Xi/sendexev.c +++ b/Xi/sendexev.c -@@ -135,6 +135,9 @@ ProcXSendExtensionEvent(ClientPtr client) +@@ -135,6 +135,9 @@ ProcXSendExtensionEvent(ClientPtr client if (ret != Success) return ret; @@ -97,8 +91,6 @@ index 3c21386..183f88d 100644 /* The client's event type must be one defined by an extension. */ first = ((xEvent *) &stuff[1]); -diff --git a/Xi/xiallowev.c b/Xi/xiallowev.c -index ebef233..ca263ef 100644 --- a/Xi/xiallowev.c +++ b/Xi/xiallowev.c @@ -48,6 +48,7 @@ int @@ -117,8 +109,6 @@ index ebef233..ca263ef 100644 swapl(&req_xi22->touchid); swapl(&req_xi22->grab_window); } -diff --git a/Xi/xichangecursor.c b/Xi/xichangecursor.c -index 7a1bb7a..8e6255b 100644 --- a/Xi/xichangecursor.c +++ b/Xi/xichangecursor.c @@ -57,11 +57,11 @@ int @@ -134,8 +124,6 @@ index 7a1bb7a..8e6255b 100644 return (ProcXIChangeCursor(client)); } -diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c -index 9e36354..2732445 100644 --- a/Xi/xichangehierarchy.c +++ b/Xi/xichangehierarchy.c @@ -411,7 +411,7 @@ int @@ -228,8 +216,6 @@ index 9e36354..2732445 100644 any = (xXIAnyHierarchyChangeInfo *) ((char *) any + any->length * 4); } -diff --git a/Xi/xigetclientpointer.c b/Xi/xigetclientpointer.c -index 3c90d58..306dd39 100644 --- a/Xi/xigetclientpointer.c +++ b/Xi/xigetclientpointer.c @@ -50,6 +50,7 @@ int @@ -240,8 +226,6 @@ index 3c90d58..306dd39 100644 swaps(&stuff->length); swapl(&stuff->win); -diff --git a/Xi/xigrabdev.c b/Xi/xigrabdev.c -index 63d95bc..e2a2ae3 100644 --- a/Xi/xigrabdev.c +++ b/Xi/xigrabdev.c @@ -47,6 +47,11 @@ int @@ -281,11 +265,9 @@ index 63d95bc..e2a2ae3 100644 ret = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess); if (ret != Success) -diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c -index 700622d..9241ffd 100644 --- a/Xi/xipassivegrab.c +++ b/Xi/xipassivegrab.c -@@ -53,6 +53,7 @@ SProcXIPassiveGrabDevice(ClientPtr client) +@@ -53,6 +53,7 @@ SProcXIPassiveGrabDevice(ClientPtr clien uint32_t *mods; REQUEST(xXIPassiveGrabDeviceReq); @@ -293,7 +275,7 @@ index 700622d..9241ffd 100644 swaps(&stuff->length); swaps(&stuff->deviceid); -@@ -63,6 +64,8 @@ SProcXIPassiveGrabDevice(ClientPtr client) +@@ -63,6 +64,8 @@ SProcXIPassiveGrabDevice(ClientPtr clien swaps(&stuff->mask_len); swaps(&stuff->num_modifiers); @@ -302,7 +284,7 @@ index 700622d..9241ffd 100644 mods = (uint32_t *) &stuff[1] + stuff->mask_len; for (i = 0; i < stuff->num_modifiers; i++, mods++) { -@@ -92,7 +95,8 @@ ProcXIPassiveGrabDevice(ClientPtr client) +@@ -92,7 +95,8 @@ ProcXIPassiveGrabDevice(ClientPtr client int mask_len; REQUEST(xXIPassiveGrabDeviceReq); @@ -312,7 +294,7 @@ index 700622d..9241ffd 100644 if (stuff->deviceid == XIAllDevices) dev = inputInfo.all_devices; -@@ -252,6 +256,7 @@ SProcXIPassiveUngrabDevice(ClientPtr client) +@@ -252,6 +256,7 @@ SProcXIPassiveUngrabDevice(ClientPtr cli uint32_t *modifiers; REQUEST(xXIPassiveUngrabDeviceReq); @@ -320,7 +302,7 @@ index 700622d..9241ffd 100644 swaps(&stuff->length); swapl(&stuff->grab_window); -@@ -259,6 +264,8 @@ SProcXIPassiveUngrabDevice(ClientPtr client) +@@ -259,6 +264,8 @@ SProcXIPassiveUngrabDevice(ClientPtr cli swapl(&stuff->detail); swaps(&stuff->num_modifiers); @@ -329,7 +311,7 @@ index 700622d..9241ffd 100644 modifiers = (uint32_t *) &stuff[1]; for (i = 0; i < stuff->num_modifiers; i++, modifiers++) -@@ -277,7 +284,8 @@ ProcXIPassiveUngrabDevice(ClientPtr client) +@@ -277,7 +284,8 @@ ProcXIPassiveUngrabDevice(ClientPtr clie int i, rc; REQUEST(xXIPassiveUngrabDeviceReq); @@ -339,8 +321,6 @@ index 700622d..9241ffd 100644 if (stuff->deviceid == XIAllDevices) dev = inputInfo.all_devices; -diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c -index 463607d..8e8e4b0 100644 --- a/Xi/xiproperty.c +++ b/Xi/xiproperty.c @@ -1013,10 +1013,9 @@ int @@ -424,8 +404,6 @@ index 463607d..8e8e4b0 100644 return (ProcXIGetProperty(client)); } -diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c -index 4e544f0..67a9a4f 100644 --- a/Xi/xiquerydevice.c +++ b/Xi/xiquerydevice.c @@ -54,6 +54,7 @@ int @@ -436,8 +414,6 @@ index 4e544f0..67a9a4f 100644 swaps(&stuff->length); swaps(&stuff->deviceid); -diff --git a/Xi/xiquerypointer.c b/Xi/xiquerypointer.c -index e9bdd42..7ec0c85 100644 --- a/Xi/xiquerypointer.c +++ b/Xi/xiquerypointer.c @@ -63,6 +63,8 @@ int @@ -449,8 +425,6 @@ index e9bdd42..7ec0c85 100644 swaps(&stuff->length); swaps(&stuff->deviceid); swapl(&stuff->win); -diff --git a/Xi/xiselectev.c b/Xi/xiselectev.c -index 45a996e..168579f 100644 --- a/Xi/xiselectev.c +++ b/Xi/xiselectev.c @@ -114,6 +114,7 @@ int @@ -479,8 +453,6 @@ index 45a996e..168579f 100644 evmask = (xXIEventMask *) (((char *) &evmask[1]) + evmask->mask_len * 4); } -diff --git a/Xi/xisetclientpointer.c b/Xi/xisetclientpointer.c -index 38ff51e..24d4a53 100644 --- a/Xi/xisetclientpointer.c +++ b/Xi/xisetclientpointer.c @@ -51,10 +51,11 @@ int @@ -496,8 +468,6 @@ index 38ff51e..24d4a53 100644 return (ProcXISetClientPointer(client)); } -diff --git a/Xi/xisetdevfocus.c b/Xi/xisetdevfocus.c -index 372ec24..96a9a16 100644 --- a/Xi/xisetdevfocus.c +++ b/Xi/xisetdevfocus.c @@ -44,6 +44,8 @@ int @@ -518,8 +488,6 @@ index 372ec24..96a9a16 100644 swaps(&stuff->length); swaps(&stuff->deviceid); -diff --git a/Xi/xiwarppointer.c b/Xi/xiwarppointer.c -index 3f051f7..780758a 100644 --- a/Xi/xiwarppointer.c +++ b/Xi/xiwarppointer.c @@ -56,6 +56,8 @@ int @@ -531,8 +499,6 @@ index 3f051f7..780758a 100644 swaps(&stuff->length); swapl(&stuff->src_win); swapl(&stuff->dst_win); -diff --git a/include/dix.h b/include/dix.h -index e0c6ed8..21176a8 100644 --- a/include/dix.h +++ b/include/dix.h @@ -74,6 +74,10 @@ SOFTWARE. @@ -546,6 +512,3 @@ index e0c6ed8..21176a8 100644 #define REQUEST_FIXED_SIZE(req, n)\ if (((sizeof(req) >> 2) > client->req_len) || \ ((n >> 2) >= client->req_len) || \ --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0009-xcmisc-unvalidated-length-in-SProcXCMiscGetXIDList-C.patch b/debian/patches/CVE-2014-8xxx/0009-xcmisc-unvalidated-length-in-SProcXCMiscGetXIDList-C.patch index a5f4b4f..5e19ba9 100644 --- a/debian/patches/CVE-2014-8xxx/0009-xcmisc-unvalidated-length-in-SProcXCMiscGetXIDList-C.patch +++ b/debian/patches/CVE-2014-8xxx/0009-xcmisc-unvalidated-length-in-SProcXCMiscGetXIDList-C.patch @@ -10,8 +10,6 @@ Reviewed-by: Peter Hutterer Xext/xcmisc.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/Xext/xcmisc.c b/Xext/xcmisc.c -index 034bfb6..1e91010 100644 --- a/Xext/xcmisc.c +++ b/Xext/xcmisc.c @@ -167,6 +167,7 @@ static int @@ -22,6 +20,3 @@ index 034bfb6..1e91010 100644 swaps(&stuff->length); swapl(&stuff->count); --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0010-Xv-unvalidated-lengths-in-XVideo-extension-swapped-p.patch b/debian/patches/CVE-2014-8xxx/0010-Xv-unvalidated-lengths-in-XVideo-extension-swapped-p.patch index 0242368..f6fb827 100644 --- a/debian/patches/CVE-2014-8xxx/0010-Xv-unvalidated-lengths-in-XVideo-extension-swapped-p.patch +++ b/debian/patches/CVE-2014-8xxx/0010-Xv-unvalidated-lengths-in-XVideo-extension-swapped-p.patch @@ -10,11 +10,9 @@ Reviewed-by: Peter Hutterer Xext/xvdisp.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) -Index: xorg-server-1.16.0/Xext/xvdisp.c -=================================================================== ---- xorg-server-1.16.0.orig/Xext/xvdisp.c 2014-12-04 11:15:10.726714736 -0500 -+++ xorg-server-1.16.0/Xext/xvdisp.c 2014-12-04 11:15:10.722714693 -0500 -@@ -1207,6 +1207,7 @@ +--- a/Xext/xvdisp.c ++++ b/Xext/xvdisp.c +@@ -1207,6 +1207,7 @@ static int SProcXvQueryExtension(ClientPtr client) { REQUEST(xvQueryExtensionReq); @@ -22,7 +20,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); return XvProcVector[xv_QueryExtension] (client); } -@@ -1215,6 +1216,7 @@ +@@ -1215,6 +1216,7 @@ static int SProcXvQueryAdaptors(ClientPtr client) { REQUEST(xvQueryAdaptorsReq); @@ -30,7 +28,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->window); return XvProcVector[xv_QueryAdaptors] (client); -@@ -1224,6 +1226,7 @@ +@@ -1224,6 +1226,7 @@ static int SProcXvQueryEncodings(ClientPtr client) { REQUEST(xvQueryEncodingsReq); @@ -38,7 +36,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); return XvProcVector[xv_QueryEncodings] (client); -@@ -1233,6 +1236,7 @@ +@@ -1233,6 +1236,7 @@ static int SProcXvGrabPort(ClientPtr client) { REQUEST(xvGrabPortReq); @@ -46,7 +44,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->time); -@@ -1243,6 +1247,7 @@ +@@ -1243,6 +1247,7 @@ static int SProcXvUngrabPort(ClientPtr client) { REQUEST(xvUngrabPortReq); @@ -54,7 +52,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->time); -@@ -1253,6 +1258,7 @@ +@@ -1253,6 +1258,7 @@ static int SProcXvPutVideo(ClientPtr client) { REQUEST(xvPutVideoReq); @@ -62,7 +60,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->drawable); -@@ -1272,6 +1278,7 @@ +@@ -1272,6 +1278,7 @@ static int SProcXvPutStill(ClientPtr client) { REQUEST(xvPutStillReq); @@ -70,7 +68,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->drawable); -@@ -1291,6 +1298,7 @@ +@@ -1291,6 +1298,7 @@ static int SProcXvGetVideo(ClientPtr client) { REQUEST(xvGetVideoReq); @@ -78,7 +76,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->drawable); -@@ -1310,6 +1318,7 @@ +@@ -1310,6 +1318,7 @@ static int SProcXvGetStill(ClientPtr client) { REQUEST(xvGetStillReq); @@ -86,7 +84,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->drawable); -@@ -1329,6 +1338,7 @@ +@@ -1329,6 +1338,7 @@ static int SProcXvPutImage(ClientPtr client) { REQUEST(xvPutImageReq); @@ -94,7 +92,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->drawable); -@@ -1352,6 +1362,7 @@ +@@ -1352,6 +1362,7 @@ static int SProcXvShmPutImage(ClientPtr client) { REQUEST(xvShmPutImageReq); @@ -102,7 +100,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->drawable); -@@ -1379,6 +1390,7 @@ +@@ -1379,6 +1390,7 @@ static int SProcXvSelectVideoNotify(ClientPtr client) { REQUEST(xvSelectVideoNotifyReq); @@ -110,7 +108,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->drawable); return XvProcVector[xv_SelectVideoNotify] (client); -@@ -1388,6 +1400,7 @@ +@@ -1388,6 +1400,7 @@ static int SProcXvSelectPortNotify(ClientPtr client) { REQUEST(xvSelectPortNotifyReq); @@ -118,7 +116,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); return XvProcVector[xv_SelectPortNotify] (client); -@@ -1397,6 +1410,7 @@ +@@ -1397,6 +1410,7 @@ static int SProcXvStopVideo(ClientPtr client) { REQUEST(xvStopVideoReq); @@ -126,7 +124,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->drawable); -@@ -1407,6 +1421,7 @@ +@@ -1407,6 +1421,7 @@ static int SProcXvSetPortAttribute(ClientPtr client) { REQUEST(xvSetPortAttributeReq); @@ -134,7 +132,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->attribute); -@@ -1418,6 +1433,7 @@ +@@ -1418,6 +1433,7 @@ static int SProcXvGetPortAttribute(ClientPtr client) { REQUEST(xvGetPortAttributeReq); @@ -142,7 +140,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->attribute); -@@ -1428,6 +1444,7 @@ +@@ -1428,6 +1444,7 @@ static int SProcXvQueryBestSize(ClientPtr client) { REQUEST(xvQueryBestSizeReq); @@ -150,7 +148,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swaps(&stuff->vid_w); -@@ -1441,6 +1458,7 @@ +@@ -1441,6 +1458,7 @@ static int SProcXvQueryPortAttributes(ClientPtr client) { REQUEST(xvQueryPortAttributesReq); @@ -158,7 +156,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); return XvProcVector[xv_QueryPortAttributes] (client); -@@ -1450,6 +1468,7 @@ +@@ -1450,6 +1468,7 @@ static int SProcXvQueryImageAttributes(ClientPtr client) { REQUEST(xvQueryImageAttributesReq); @@ -166,7 +164,7 @@ Index: xorg-server-1.16.0/Xext/xvdisp.c swaps(&stuff->length); swapl(&stuff->port); swapl(&stuff->id); -@@ -1462,6 +1481,7 @@ +@@ -1462,6 +1481,7 @@ static int SProcXvListImageFormats(ClientPtr client) { REQUEST(xvListImageFormatsReq); diff --git a/debian/patches/CVE-2014-8xxx/0011-dri3-unvalidated-lengths-in-DRI3-extension-swapped-p.patch b/debian/patches/CVE-2014-8xxx/0011-dri3-unvalidated-lengths-in-DRI3-extension-swapped-p.patch index d8f4b65..8ac8d16 100644 --- a/debian/patches/CVE-2014-8xxx/0011-dri3-unvalidated-lengths-in-DRI3-extension-swapped-p.patch +++ b/debian/patches/CVE-2014-8xxx/0011-dri3-unvalidated-lengths-in-DRI3-extension-swapped-p.patch @@ -10,11 +10,9 @@ Reviewed-by: Peter Hutterer dri3/dri3_request.c | 6 ++++++ 1 file changed, 6 insertions(+) -Index: xorg-server-1.15.1/dri3/dri3_request.c -=================================================================== ---- xorg-server-1.15.1.orig/dri3/dri3_request.c 2014-12-04 11:53:23.380277861 -0500 -+++ xorg-server-1.15.1/dri3/dri3_request.c 2014-12-04 11:53:23.376277836 -0500 -@@ -311,6 +311,7 @@ +--- a/dri3/dri3_request.c ++++ b/dri3/dri3_request.c +@@ -311,6 +311,7 @@ static int sproc_dri3_query_version(ClientPtr client) { REQUEST(xDRI3QueryVersionReq); @@ -22,7 +20,7 @@ Index: xorg-server-1.15.1/dri3/dri3_request.c swaps(&stuff->length); swapl(&stuff->majorVersion); -@@ -322,6 +323,7 @@ +@@ -322,6 +323,7 @@ static int sproc_dri3_open(ClientPtr client) { REQUEST(xDRI3OpenReq); @@ -30,7 +28,7 @@ Index: xorg-server-1.15.1/dri3/dri3_request.c swaps(&stuff->length); swapl(&stuff->drawable); -@@ -333,6 +335,7 @@ +@@ -333,6 +335,7 @@ static int sproc_dri3_pixmap_from_buffer(ClientPtr client) { REQUEST(xDRI3PixmapFromBufferReq); @@ -38,7 +36,7 @@ Index: xorg-server-1.15.1/dri3/dri3_request.c swaps(&stuff->length); swapl(&stuff->pixmap); -@@ -348,6 +351,7 @@ +@@ -348,6 +351,7 @@ static int sproc_dri3_buffer_from_pixmap(ClientPtr client) { REQUEST(xDRI3BufferFromPixmapReq); @@ -46,7 +44,7 @@ Index: xorg-server-1.15.1/dri3/dri3_request.c swaps(&stuff->length); swapl(&stuff->pixmap); -@@ -358,6 +362,7 @@ +@@ -358,6 +362,7 @@ static int sproc_dri3_fence_from_fd(ClientPtr client) { REQUEST(xDRI3FenceFromFDReq); @@ -54,7 +52,7 @@ Index: xorg-server-1.15.1/dri3/dri3_request.c swaps(&stuff->length); swapl(&stuff->drawable); -@@ -369,6 +374,7 @@ +@@ -369,6 +374,7 @@ static int sproc_dri3_fd_from_fence(ClientPtr client) { REQUEST(xDRI3FDFromFenceReq); diff --git a/debian/patches/CVE-2014-8xxx/0012-present-unvalidated-lengths-in-Present-extension-pro.patch b/debian/patches/CVE-2014-8xxx/0012-present-unvalidated-lengths-in-Present-extension-pro.patch index 3fca050..6a50024 100644 --- a/debian/patches/CVE-2014-8xxx/0012-present-unvalidated-lengths-in-Present-extension-pro.patch +++ b/debian/patches/CVE-2014-8xxx/0012-present-unvalidated-lengths-in-Present-extension-pro.patch @@ -11,11 +11,9 @@ Reviewed-by: Julien Cristau present/present_request.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/present/present_request.c b/present/present_request.c -index 835890d..7c53e72 100644 --- a/present/present_request.c +++ b/present/present_request.c -@@ -210,6 +210,7 @@ proc_present_query_capabilities (ClientPtr client) +@@ -210,6 +210,7 @@ proc_present_query_capabilities (ClientP RRCrtcPtr crtc = NULL; int r; @@ -63,6 +61,3 @@ index 835890d..7c53e72 100644 swaps(&stuff->length); swapl(&stuff->target); return (*proc_present_vector[stuff->presentReqType]) (client); --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0013-randr-unvalidated-lengths-in-RandR-extension-swapped.patch b/debian/patches/CVE-2014-8xxx/0013-randr-unvalidated-lengths-in-RandR-extension-swapped.patch index c9d8e6d..4f660f2 100644 --- a/debian/patches/CVE-2014-8xxx/0013-randr-unvalidated-lengths-in-RandR-extension-swapped.patch +++ b/debian/patches/CVE-2014-8xxx/0013-randr-unvalidated-lengths-in-RandR-extension-swapped.patch @@ -10,8 +10,6 @@ Reviewed-by: Peter Hutterer randr/rrsdispatch.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/randr/rrsdispatch.c b/randr/rrsdispatch.c -index 08c3b6a..47558cf 100644 --- a/randr/rrsdispatch.c +++ b/randr/rrsdispatch.c @@ -27,6 +27,7 @@ SProcRRQueryVersion(ClientPtr client) @@ -38,7 +36,7 @@ index 08c3b6a..47558cf 100644 swaps(&stuff->length); swapl(&stuff->window); swaps(&stuff->enable); -@@ -152,6 +155,7 @@ SProcRRConfigureOutputProperty(ClientPtr client) +@@ -152,6 +155,7 @@ SProcRRConfigureOutputProperty(ClientPtr { REQUEST(xRRConfigureOutputPropertyReq); @@ -46,6 +44,3 @@ index 08c3b6a..47558cf 100644 swaps(&stuff->length); swapl(&stuff->output); swapl(&stuff->property); --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0014-render-check-request-size-before-reading-it-CVE-2014.patch b/debian/patches/CVE-2014-8xxx/0014-render-check-request-size-before-reading-it-CVE-2014.patch index b712c7b..0bfa00f 100644 --- a/debian/patches/CVE-2014-8xxx/0014-render-check-request-size-before-reading-it-CVE-2014.patch +++ b/debian/patches/CVE-2014-8xxx/0014-render-check-request-size-before-reading-it-CVE-2014.patch @@ -13,8 +13,6 @@ Signed-off-by: Alan Coopersmith render/render.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/render/render.c b/render/render.c -index e3031da..200e0c8 100644 --- a/render/render.c +++ b/render/render.c @@ -276,11 +276,11 @@ ProcRenderQueryVersion(ClientPtr client) @@ -31,6 +29,3 @@ index e3031da..200e0c8 100644 if ((stuff->majorVersion * 1000 + stuff->minorVersion) < (SERVER_RENDER_MAJOR_VERSION * 1000 + SERVER_RENDER_MINOR_VERSION)) { rep.majorVersion = stuff->majorVersion; --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0015-render-unvalidated-lengths-in-Render-extn.-swapped-p.patch b/debian/patches/CVE-2014-8xxx/0015-render-unvalidated-lengths-in-Render-extn.-swapped-p.patch index d5cd34e..6aadcbb 100644 --- a/debian/patches/CVE-2014-8xxx/0015-render-unvalidated-lengths-in-Render-extn.-swapped-p.patch +++ b/debian/patches/CVE-2014-8xxx/0015-render-unvalidated-lengths-in-Render-extn.-swapped-p.patch @@ -10,8 +10,6 @@ Reviewed-by: Peter Hutterer render/render.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) -diff --git a/render/render.c b/render/render.c -index 200e0c8..723f380 100644 --- a/render/render.c +++ b/render/render.c @@ -1995,7 +1995,7 @@ static int @@ -127,7 +125,7 @@ index 200e0c8..723f380 100644 swaps(&stuff->length); swapl(&stuff->glyphset); SwapRestL(stuff); -@@ -2278,6 +2291,7 @@ SProcRenderCompositeGlyphs(ClientPtr client) +@@ -2278,6 +2291,7 @@ SProcRenderCompositeGlyphs(ClientPtr cli int size; REQUEST(xRenderCompositeGlyphsReq); @@ -135,6 +133,3 @@ index 200e0c8..723f380 100644 switch (stuff->renderReqType) { default: --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0016-xfixes-unvalidated-length-in-SProcXFixesSelectSelect.patch b/debian/patches/CVE-2014-8xxx/0016-xfixes-unvalidated-length-in-SProcXFixesSelectSelect.patch index e3ff6a3..84d75cd 100644 --- a/debian/patches/CVE-2014-8xxx/0016-xfixes-unvalidated-length-in-SProcXFixesSelectSelect.patch +++ b/debian/patches/CVE-2014-8xxx/0016-xfixes-unvalidated-length-in-SProcXFixesSelectSelect.patch @@ -10,11 +10,9 @@ Reviewed-by: Peter Hutterer xfixes/select.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/xfixes/select.c b/xfixes/select.c -index c088ed3..e964d58 100644 --- a/xfixes/select.c +++ b/xfixes/select.c -@@ -201,6 +201,7 @@ SProcXFixesSelectSelectionInput(ClientPtr client) +@@ -201,6 +201,7 @@ SProcXFixesSelectSelectionInput(ClientPt { REQUEST(xXFixesSelectSelectionInputReq); @@ -22,6 +20,3 @@ index c088ed3..e964d58 100644 swaps(&stuff->length); swapl(&stuff->window); swapl(&stuff->selection); --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0017-Add-request-length-checking-test-cases-for-some-Xinp.patch b/debian/patches/CVE-2014-8xxx/0017-Add-request-length-checking-test-cases-for-some-Xinp.patch index cbad490..6a40d95 100644 --- a/debian/patches/CVE-2014-8xxx/0017-Add-request-length-checking-test-cases-for-some-Xinp.patch +++ b/debian/patches/CVE-2014-8xxx/0017-Add-request-length-checking-test-cases-for-some-Xinp.patch @@ -15,11 +15,9 @@ Reviewed-by: Peter Hutterer create mode 100644 test/xi1/Makefile.am create mode 100644 test/xi1/protocol-xchangedevicecontrol.c -Index: xorg-server-1.15.1/configure.ac -=================================================================== ---- xorg-server-1.15.1.orig/configure.ac 2014-12-04 11:54:14.712587810 -0500 -+++ xorg-server-1.15.1/configure.ac 2014-12-04 11:54:14.708587787 -0500 -@@ -2553,6 +2553,7 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -2553,6 +2553,7 @@ hw/kdrive/fbdev/Makefile hw/kdrive/linux/Makefile hw/kdrive/src/Makefile test/Makefile @@ -27,10 +25,8 @@ Index: xorg-server-1.15.1/configure.ac test/xi2/Makefile xserver.ent xorg-server.pc -Index: xorg-server-1.15.1/test/xi1/Makefile.am -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ xorg-server-1.15.1/test/xi1/Makefile.am 2014-12-04 11:54:14.708587787 -0500 +--- /dev/null ++++ b/test/xi1/Makefile.am @@ -0,0 +1,34 @@ +if ENABLE_UNIT_TESTS +if HAVE_LD_WRAP @@ -66,10 +62,8 @@ Index: xorg-server-1.15.1/test/xi1/Makefile.am + $(AM_V_GEN)chmod +x $@ +endif +endif -Index: xorg-server-1.15.1/test/xi1/protocol-xchangedevicecontrol.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ xorg-server-1.15.1/test/xi1/protocol-xchangedevicecontrol.c 2014-12-04 11:54:14.708587787 -0500 +--- /dev/null ++++ b/test/xi1/protocol-xchangedevicecontrol.c @@ -0,0 +1,122 @@ +/** + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. diff --git a/debian/patches/CVE-2014-8xxx/0018-Add-request-length-checking-test-cases-for-some-Xinp.patch b/debian/patches/CVE-2014-8xxx/0018-Add-request-length-checking-test-cases-for-some-Xinp.patch index 20ee8ec..2433093 100644 --- a/debian/patches/CVE-2014-8xxx/0018-Add-request-length-checking-test-cases-for-some-Xinp.patch +++ b/debian/patches/CVE-2014-8xxx/0018-Add-request-length-checking-test-cases-for-some-Xinp.patch @@ -13,11 +13,9 @@ Reviewed-by: Peter Hutterer test/xi2/protocol-xiwarppointer.c | 3 +++ 4 files changed, 20 insertions(+) -Index: xorg-server-1.15.1/test/xi2/protocol-xigetclientpointer.c -=================================================================== ---- xorg-server-1.15.1.orig/test/xi2/protocol-xigetclientpointer.c 2014-12-04 11:54:32.024693177 -0500 -+++ xorg-server-1.15.1/test/xi2/protocol-xigetclientpointer.c 2014-12-04 11:54:32.020693152 -0500 -@@ -124,6 +124,11 @@ +--- a/test/xi2/protocol-xigetclientpointer.c ++++ b/test/xi2/protocol-xigetclientpointer.c +@@ -124,6 +124,11 @@ test_XIGetClientPointer(void) request.win = INVALID_WINDOW_ID; request_XIGetClientPointer(&client_request, &request, BadWindow); @@ -29,11 +27,9 @@ Index: xorg-server-1.15.1/test/xi2/protocol-xigetclientpointer.c test_data.cp_is_set = FALSE; printf("Testing window None, unset ClientPointer.\n"); -Index: xorg-server-1.15.1/test/xi2/protocol-xipassivegrabdevice.c -=================================================================== ---- xorg-server-1.15.1.orig/test/xi2/protocol-xipassivegrabdevice.c 2014-12-04 11:54:32.024693177 -0500 -+++ xorg-server-1.15.1/test/xi2/protocol-xipassivegrabdevice.c 2014-12-04 11:54:32.020693152 -0500 -@@ -139,6 +139,7 @@ +--- a/test/xi2/protocol-xipassivegrabdevice.c ++++ b/test/xi2/protocol-xipassivegrabdevice.c +@@ -139,6 +139,7 @@ request_XIPassiveGrabDevice(ClientPtr cl int modifiers; int mask_len; @@ -41,7 +37,7 @@ Index: xorg-server-1.15.1/test/xi2/protocol-xipassivegrabdevice.c rc = ProcXIPassiveGrabDevice(&client_request); assert(rc == error); -@@ -190,6 +191,13 @@ +@@ -190,6 +191,13 @@ test_XIPassiveGrabDevice(void) request_XIPassiveGrabDevice(&client_request, request, BadDevice, request->deviceid); @@ -55,11 +51,9 @@ Index: xorg-server-1.15.1/test/xi2/protocol-xipassivegrabdevice.c request->deviceid = XIAllMasterDevices; printf("Testing invalid grab types\n"); -Index: xorg-server-1.15.1/test/xi2/protocol-xiquerypointer.c -=================================================================== ---- xorg-server-1.15.1.orig/test/xi2/protocol-xiquerypointer.c 2014-12-04 11:54:32.024693177 -0500 -+++ xorg-server-1.15.1/test/xi2/protocol-xiquerypointer.c 2014-12-04 11:54:32.020693152 -0500 -@@ -201,6 +201,10 @@ +--- a/test/xi2/protocol-xiquerypointer.c ++++ b/test/xi2/protocol-xiquerypointer.c +@@ -201,6 +201,10 @@ test_XIQueryPointer(void) test_data.dev = devices.mouse; request.deviceid = devices.mouse->id; request_XIQueryPointer(&client_request, &request, Success); @@ -70,11 +64,9 @@ Index: xorg-server-1.15.1/test/xi2/protocol-xiquerypointer.c } int -Index: xorg-server-1.15.1/test/xi2/protocol-xiwarppointer.c -=================================================================== ---- xorg-server-1.15.1.orig/test/xi2/protocol-xiwarppointer.c 2014-12-04 11:54:32.024693177 -0500 -+++ xorg-server-1.15.1/test/xi2/protocol-xiwarppointer.c 2014-12-04 11:54:32.020693152 -0500 -@@ -198,6 +198,9 @@ +--- a/test/xi2/protocol-xiwarppointer.c ++++ b/test/xi2/protocol-xiwarppointer.c +@@ -198,6 +198,9 @@ test_XIWarpPointer(void) request_XIWarpPointer(&client_request, &request, Success); /* FIXME: src_x/y checks */ diff --git a/debian/patches/CVE-2014-8xxx/0019-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch b/debian/patches/CVE-2014-8xxx/0019-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch index 972f4a4..8024d10 100644 --- a/debian/patches/CVE-2014-8xxx/0019-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch +++ b/debian/patches/CVE-2014-8xxx/0019-Add-REQUEST_FIXED_SIZE-testcases-to-test-misc.c.patch @@ -9,8 +9,6 @@ Reviewed-by: Peter Hutterer test/misc.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) -diff --git a/test/misc.c b/test/misc.c -index dd792e6..66330a1 100644 --- a/test/misc.c +++ b/test/misc.c @@ -28,6 +28,8 @@ @@ -69,6 +67,3 @@ index dd792e6..66330a1 100644 return 0; } --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0020-glx-Be-more-paranoid-about-variable-length-requests-.patch b/debian/patches/CVE-2014-8xxx/0020-glx-Be-more-paranoid-about-variable-length-requests-.patch index 508d9e7..0d2d910 100644 --- a/debian/patches/CVE-2014-8xxx/0020-glx-Be-more-paranoid-about-variable-length-requests-.patch +++ b/debian/patches/CVE-2014-8xxx/0020-glx-Be-more-paranoid-about-variable-length-requests-.patch @@ -20,11 +20,9 @@ Signed-off-by: Alan Coopersmith glx/glxcmds.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: xorg-server-1.15.1/glx/glxcmds.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/glxcmds.c 2014-12-04 11:55:22.293001486 -0500 -+++ xorg-server-1.15.1/glx/glxcmds.c 2014-12-04 11:55:22.289001461 -0500 -@@ -2052,7 +2052,7 @@ +--- a/glx/glxcmds.c ++++ b/glx/glxcmds.c +@@ -2052,7 +2052,7 @@ __glXDisp_Render(__GLXclientState * cl, extra = (*entry.varsize) (pc + __GLX_RENDER_HDR_SIZE, client->swapped); if (extra < 0) { @@ -33,7 +31,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c } if (cmdlen != __GLX_PAD(entry.bytes + extra)) { return BadLength; -@@ -2169,7 +2169,7 @@ +@@ -2169,7 +2169,7 @@ __glXDisp_RenderLarge(__GLXclientState * extra = (*entry.varsize) (pc + __GLX_RENDER_LARGE_HDR_SIZE, client->swapped); if (extra < 0) { diff --git a/debian/patches/CVE-2014-8xxx/0021-glx-Be-more-strict-about-rejecting-invalid-image-siz.patch b/debian/patches/CVE-2014-8xxx/0021-glx-Be-more-strict-about-rejecting-invalid-image-siz.patch index 591e88e..e3d2b39 100644 --- a/debian/patches/CVE-2014-8xxx/0021-glx-Be-more-strict-about-rejecting-invalid-image-siz.patch +++ b/debian/patches/CVE-2014-8xxx/0021-glx-Be-more-strict-about-rejecting-invalid-image-siz.patch @@ -20,11 +20,9 @@ Signed-off-by: Alan Coopersmith glx/singlepixswap.c | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) -diff --git a/glx/singlepix.c b/glx/singlepix.c -index 506fdaa..8b6c261 100644 --- a/glx/singlepix.c +++ b/glx/singlepix.c -@@ -65,7 +65,7 @@ __glXDisp_ReadPixels(__GLXclientState * cl, GLbyte * pc) +@@ -65,7 +65,7 @@ __glXDisp_ReadPixels(__GLXclientState * lsbFirst = *(GLboolean *) (pc + 25); compsize = __glReadPixels_size(format, type, width, height); if (compsize < 0) @@ -33,7 +31,7 @@ index 506fdaa..8b6c261 100644 glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst); -@@ -124,7 +124,7 @@ __glXDisp_GetTexImage(__GLXclientState * cl, GLbyte * pc) +@@ -124,7 +124,7 @@ __glXDisp_GetTexImage(__GLXclientState * compsize = __glGetTexImage_size(target, level, format, type, width, height, depth); if (compsize < 0) @@ -42,7 +40,7 @@ index 506fdaa..8b6c261 100644 glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); -@@ -218,9 +218,9 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -218,9 +218,9 @@ GetSeparableFilter(__GLXclientState * cl compsize2 = __glGetTexImage_size(target, 1, format, type, height, 1, 1); if (compsize < 0) @@ -54,7 +52,7 @@ index 506fdaa..8b6c261 100644 compsize = __GLX_PAD(compsize); compsize2 = __GLX_PAD(compsize2); -@@ -296,7 +296,7 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -296,7 +296,7 @@ GetConvolutionFilter(__GLXclientState * */ compsize = __glGetTexImage_size(target, 1, format, type, width, height, 1); if (compsize < 0) @@ -63,7 +61,7 @@ index 506fdaa..8b6c261 100644 glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); -@@ -365,7 +365,7 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -365,7 +365,7 @@ GetHistogram(__GLXclientState * cl, GLby */ compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1); if (compsize < 0) @@ -72,7 +70,7 @@ index 506fdaa..8b6c261 100644 glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); -@@ -426,7 +426,7 @@ GetMinmax(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -426,7 +426,7 @@ GetMinmax(__GLXclientState * cl, GLbyte compsize = __glGetTexImage_size(target, 1, format, type, 2, 1, 1); if (compsize < 0) @@ -81,7 +79,7 @@ index 506fdaa..8b6c261 100644 glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); -@@ -491,7 +491,7 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -491,7 +491,7 @@ GetColorTable(__GLXclientState * cl, GLb */ compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1); if (compsize < 0) @@ -90,11 +88,9 @@ index 506fdaa..8b6c261 100644 glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); -diff --git a/glx/singlepixswap.c b/glx/singlepixswap.c -index 8469101..8dc304f 100644 --- a/glx/singlepixswap.c +++ b/glx/singlepixswap.c -@@ -75,7 +75,7 @@ __glXDispSwap_ReadPixels(__GLXclientState * cl, GLbyte * pc) +@@ -75,7 +75,7 @@ __glXDispSwap_ReadPixels(__GLXclientStat lsbFirst = *(GLboolean *) (pc + 25); compsize = __glReadPixels_size(format, type, width, height); if (compsize < 0) @@ -103,7 +99,7 @@ index 8469101..8dc304f 100644 glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst); -@@ -144,7 +144,7 @@ __glXDispSwap_GetTexImage(__GLXclientState * cl, GLbyte * pc) +@@ -144,7 +144,7 @@ __glXDispSwap_GetTexImage(__GLXclientSta compsize = __glGetTexImage_size(target, level, format, type, width, height, depth); if (compsize < 0) @@ -112,7 +108,7 @@ index 8469101..8dc304f 100644 glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); -@@ -252,9 +252,9 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -252,9 +252,9 @@ GetSeparableFilter(__GLXclientState * cl compsize2 = __glGetTexImage_size(target, 1, format, type, height, 1, 1); if (compsize < 0) @@ -124,7 +120,7 @@ index 8469101..8dc304f 100644 compsize = __GLX_PAD(compsize); compsize2 = __GLX_PAD(compsize2); -@@ -338,7 +338,7 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -338,7 +338,7 @@ GetConvolutionFilter(__GLXclientState * */ compsize = __glGetTexImage_size(target, 1, format, type, width, height, 1); if (compsize < 0) @@ -133,7 +129,7 @@ index 8469101..8dc304f 100644 glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); -@@ -415,7 +415,7 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -415,7 +415,7 @@ GetHistogram(__GLXclientState * cl, GLby */ compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1); if (compsize < 0) @@ -142,7 +138,7 @@ index 8469101..8dc304f 100644 glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); -@@ -483,7 +483,7 @@ GetMinmax(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -483,7 +483,7 @@ GetMinmax(__GLXclientState * cl, GLbyte compsize = __glGetTexImage_size(target, 1, format, type, 2, 1, 1); if (compsize < 0) @@ -151,7 +147,7 @@ index 8469101..8dc304f 100644 glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); -@@ -554,7 +554,7 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag) +@@ -554,7 +554,7 @@ GetColorTable(__GLXclientState * cl, GLb */ compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1); if (compsize < 0) @@ -160,6 +156,3 @@ index 8469101..8dc304f 100644 glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes); __GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1); --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0022-glx-Additional-paranoia-in-__glXGetAnswerBuffer-__GL.patch b/debian/patches/CVE-2014-8xxx/0022-glx-Additional-paranoia-in-__glXGetAnswerBuffer-__GL.patch index 3357e9b..7264aed 100644 --- a/debian/patches/CVE-2014-8xxx/0022-glx-Additional-paranoia-in-__glXGetAnswerBuffer-__GL.patch +++ b/debian/patches/CVE-2014-8xxx/0022-glx-Additional-paranoia-in-__glXGetAnswerBuffer-__GL.patch @@ -20,11 +20,9 @@ Signed-off-by: Alan Coopersmith glx/unpack.h | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) -diff --git a/glx/indirect_util.c b/glx/indirect_util.c -index 926e57c..de81491 100644 --- a/glx/indirect_util.c +++ b/glx/indirect_util.c -@@ -76,9 +76,14 @@ __glXGetAnswerBuffer(__GLXclientState * cl, size_t required_size, +@@ -76,9 +76,14 @@ __glXGetAnswerBuffer(__GLXclientState * const unsigned mask = alignment - 1; if (local_size < required_size) { @@ -40,8 +38,6 @@ index 926e57c..de81491 100644 if (cl->returnBufSize < worst_case_size) { void *temp = realloc(cl->returnBuf, worst_case_size); -diff --git a/glx/unpack.h b/glx/unpack.h -index 52fba74..2b1ebcf 100644 --- a/glx/unpack.h +++ b/glx/unpack.h @@ -83,7 +83,8 @@ extern xGLXSingleReply __glXReply; @@ -54,6 +50,3 @@ index 52fba74..2b1ebcf 100644 int bump; \ if ((cl)->returnBufSize < (size)+(align)) { \ (cl)->returnBuf = (GLbyte*)realloc((cl)->returnBuf, \ --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0023-glx-Fix-image-size-computation-for-EXT_texture_integ.patch b/debian/patches/CVE-2014-8xxx/0023-glx-Fix-image-size-computation-for-EXT_texture_integ.patch index 40dd0af..3fafaa5 100644 --- a/debian/patches/CVE-2014-8xxx/0023-glx-Fix-image-size-computation-for-EXT_texture_integ.patch +++ b/debian/patches/CVE-2014-8xxx/0023-glx-Fix-image-size-computation-for-EXT_texture_integ.patch @@ -18,11 +18,9 @@ Signed-off-by: Alan Coopersmith glx/rensize.c | 10 ++++++++++ 1 file changed, 10 insertions(+) -diff --git a/glx/rensize.c b/glx/rensize.c -index ba22d10..9ff73c7 100644 --- a/glx/rensize.c +++ b/glx/rensize.c -@@ -224,6 +224,11 @@ __glXImageSize(GLenum format, GLenum type, GLenum target, +@@ -224,6 +224,11 @@ __glXImageSize(GLenum format, GLenum typ case GL_ALPHA: case GL_LUMINANCE: case GL_INTENSITY: @@ -34,7 +32,7 @@ index ba22d10..9ff73c7 100644 elementsPerGroup = 1; break; case GL_422_EXT: -@@ -234,14 +239,19 @@ __glXImageSize(GLenum format, GLenum type, GLenum target, +@@ -234,14 +239,19 @@ __glXImageSize(GLenum format, GLenum typ case GL_DEPTH_STENCIL_MESA: case GL_YCBCR_MESA: case GL_LUMINANCE_ALPHA: @@ -54,6 +52,3 @@ index ba22d10..9ff73c7 100644 case GL_ABGR_EXT: elementsPerGroup = 4; break; --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0024-glx-Add-safe_-add-mul-pad-v3-CVE-2014-8093-4-6.patch b/debian/patches/CVE-2014-8xxx/0024-glx-Add-safe_-add-mul-pad-v3-CVE-2014-8093-4-6.patch index af08e6a..599756f 100644 --- a/debian/patches/CVE-2014-8xxx/0024-glx-Add-safe_-add-mul-pad-v3-CVE-2014-8093-4-6.patch +++ b/debian/patches/CVE-2014-8xxx/0024-glx-Add-safe_-add-mul-pad-v3-CVE-2014-8093-4-6.patch @@ -25,11 +25,9 @@ Signed-off-by: Alan Coopersmith glx/glxserver.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) -Index: xorg-server-1.15.1/glx/glxserver.h -=================================================================== ---- xorg-server-1.15.1.orig/glx/glxserver.h 2014-12-04 11:55:58.221223978 -0500 -+++ xorg-server-1.15.1/glx/glxserver.h 2014-12-04 11:55:58.217223954 -0500 -@@ -230,6 +230,47 @@ +--- a/glx/glxserver.h ++++ b/glx/glxserver.h +@@ -230,6 +230,47 @@ extern void glxSwapQueryServerStringRepl * Routines for computing the size of variably-sized rendering commands. */ diff --git a/debian/patches/CVE-2014-8xxx/0025-glx-Length-checking-for-GLXRender-requests-v2-CVE-20.patch b/debian/patches/CVE-2014-8xxx/0025-glx-Length-checking-for-GLXRender-requests-v2-CVE-20.patch index 37c7cd0..f19cfe3 100644 --- a/debian/patches/CVE-2014-8xxx/0025-glx-Length-checking-for-GLXRender-requests-v2-CVE-20.patch +++ b/debian/patches/CVE-2014-8xxx/0025-glx-Length-checking-for-GLXRender-requests-v2-CVE-20.patch @@ -16,11 +16,9 @@ Signed-off-by: Alan Coopersmith glx/glxcmds.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) -Index: xorg-server-1.15.1/glx/glxcmds.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/glxcmds.c 2014-12-04 11:56:07.897284200 -0500 -+++ xorg-server-1.15.1/glx/glxcmds.c 2014-12-04 11:56:07.893284176 -0500 -@@ -2015,7 +2015,7 @@ +--- a/glx/glxcmds.c ++++ b/glx/glxcmds.c +@@ -2015,7 +2015,7 @@ __glXDisp_Render(__GLXclientState * cl, left = (req->length << 2) - sz_xGLXRenderReq; while (left > 0) { __GLXrenderSizeData entry; @@ -29,7 +27,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c __GLXdispatchRenderProcPtr proc; int err; -@@ -2034,6 +2034,9 @@ +@@ -2034,6 +2034,9 @@ __glXDisp_Render(__GLXclientState * cl, cmdlen = hdr->length; opcode = hdr->opcode; @@ -39,7 +37,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c /* ** Check for core opcodes and grab entry data. */ -@@ -2047,6 +2050,10 @@ +@@ -2047,6 +2050,10 @@ __glXDisp_Render(__GLXclientState * cl, return __glXError(GLXBadRenderRequest); } @@ -50,7 +48,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c if (entry.varsize) { /* variable size command */ extra = (*entry.varsize) (pc + __GLX_RENDER_HDR_SIZE, -@@ -2054,17 +2061,9 @@ +@@ -2054,17 +2061,9 @@ __glXDisp_Render(__GLXclientState * cl, if (extra < 0) { return BadLength; } diff --git a/debian/patches/CVE-2014-8xxx/0026-glx-Integer-overflow-protection-for-non-generated-re.patch b/debian/patches/CVE-2014-8xxx/0026-glx-Integer-overflow-protection-for-non-generated-re.patch index 4a13b3e..cd45c9e 100644 --- a/debian/patches/CVE-2014-8xxx/0026-glx-Integer-overflow-protection-for-non-generated-re.patch +++ b/debian/patches/CVE-2014-8xxx/0026-glx-Integer-overflow-protection-for-non-generated-re.patch @@ -20,8 +20,6 @@ Signed-off-by: Alan Coopersmith glx/rensize.c | 77 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 41 insertions(+), 36 deletions(-) -diff --git a/glx/rensize.c b/glx/rensize.c -index 9ff73c7..d46334a 100644 --- a/glx/rensize.c +++ b/glx/rensize.c @@ -43,19 +43,11 @@ @@ -45,7 +43,7 @@ index 9ff73c7..d46334a 100644 target = *(GLenum *) (pc + 16); order = *(GLint *) (pc + 20); -@@ -63,15 +55,16 @@ __glXMap1dReqSize(const GLbyte * pc, Bool swap) +@@ -63,15 +55,16 @@ __glXMap1dReqSize(const GLbyte * pc, Boo target = SWAPL(target); order = SWAPL(order); } @@ -65,7 +63,7 @@ index 9ff73c7..d46334a 100644 target = *(GLenum *) (pc + 0); order = *(GLint *) (pc + 12); -@@ -79,23 +72,24 @@ __glXMap1fReqSize(const GLbyte * pc, Bool swap) +@@ -79,23 +72,24 @@ __glXMap1fReqSize(const GLbyte * pc, Boo target = SWAPL(target); order = SWAPL(order); } @@ -95,7 +93,7 @@ index 9ff73c7..d46334a 100644 target = *(GLenum *) (pc + 32); uorder = *(GLint *) (pc + 36); -@@ -105,15 +99,14 @@ __glXMap2dReqSize(const GLbyte * pc, Bool swap) +@@ -105,15 +99,14 @@ __glXMap2dReqSize(const GLbyte * pc, Boo uorder = SWAPL(uorder); vorder = SWAPL(vorder); } @@ -113,7 +111,7 @@ index 9ff73c7..d46334a 100644 target = *(GLenum *) (pc + 0); uorder = *(GLint *) (pc + 12); -@@ -123,8 +116,7 @@ __glXMap2fReqSize(const GLbyte * pc, Bool swap) +@@ -123,8 +116,7 @@ __glXMap2fReqSize(const GLbyte * pc, Boo uorder = SWAPL(uorder); vorder = SWAPL(vorder); } @@ -123,7 +121,7 @@ index 9ff73c7..d46334a 100644 } /** -@@ -175,14 +167,16 @@ __glXImageSize(GLenum format, GLenum type, GLenum target, +@@ -175,14 +167,16 @@ __glXImageSize(GLenum format, GLenum typ GLint bytesPerElement, elementsPerGroup, groupsPerRow; GLint groupSize, rowSize, padding, imageSize; @@ -142,7 +140,7 @@ index 9ff73c7..d46334a 100644 switch (target) { case GL_PROXY_TEXTURE_1D: case GL_PROXY_TEXTURE_2D: -@@ -199,6 +193,12 @@ __glXImageSize(GLenum format, GLenum type, GLenum target, +@@ -199,6 +193,12 @@ __glXImageSize(GLenum format, GLenum typ return 0; } @@ -155,7 +153,7 @@ index 9ff73c7..d46334a 100644 if (type == GL_BITMAP) { if (rowLength > 0) { groupsPerRow = rowLength; -@@ -207,11 +207,14 @@ __glXImageSize(GLenum format, GLenum type, GLenum target, +@@ -207,11 +207,14 @@ __glXImageSize(GLenum format, GLenum typ groupsPerRow = w; } rowSize = bits_to_bytes(groupsPerRow); @@ -171,7 +169,7 @@ index 9ff73c7..d46334a 100644 } else { switch (format) { -@@ -303,6 +306,7 @@ __glXImageSize(GLenum format, GLenum type, GLenum target, +@@ -303,6 +306,7 @@ __glXImageSize(GLenum format, GLenum typ default: return -1; } @@ -179,7 +177,7 @@ index 9ff73c7..d46334a 100644 groupSize = bytesPerElement * elementsPerGroup; if (rowLength > 0) { groupsPerRow = rowLength; -@@ -310,18 +314,21 @@ __glXImageSize(GLenum format, GLenum type, GLenum target, +@@ -310,18 +314,21 @@ __glXImageSize(GLenum format, GLenum typ else { groupsPerRow = w; } @@ -209,7 +207,7 @@ index 9ff73c7..d46334a 100644 } } -@@ -445,9 +452,7 @@ __glXSeparableFilter2DReqSize(const GLbyte * pc, Bool swap) +@@ -445,9 +452,7 @@ __glXSeparableFilter2DReqSize(const GLby /* XXX Should rowLength be used for either or both image? */ image1size = __glXImageSize(format, type, 0, w, 1, 1, 0, rowLength, 0, 0, alignment); @@ -220,6 +218,3 @@ index 9ff73c7..d46334a 100644 - + return safe_add(safe_pad(image1size), image2size); } --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0027-glx-Length-checking-for-RenderLarge-requests-v2-CVE-.patch b/debian/patches/CVE-2014-8xxx/0027-glx-Length-checking-for-RenderLarge-requests-v2-CVE-.patch index 38e325e..1caa603 100644 --- a/debian/patches/CVE-2014-8xxx/0027-glx-Length-checking-for-RenderLarge-requests-v2-CVE-.patch +++ b/debian/patches/CVE-2014-8xxx/0027-glx-Length-checking-for-RenderLarge-requests-v2-CVE-.patch @@ -18,11 +18,9 @@ Signed-off-by: Alan Coopersmith glx/glxcmds.c | 57 ++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 23 deletions(-) -Index: xorg-server-1.15.1/glx/glxcmds.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/glxcmds.c 2014-12-04 11:56:22.749376887 -0500 -+++ xorg-server-1.15.1/glx/glxcmds.c 2014-12-04 11:56:22.745376862 -0500 -@@ -2099,6 +2099,8 @@ +--- a/glx/glxcmds.c ++++ b/glx/glxcmds.c +@@ -2099,6 +2099,8 @@ __glXDisp_RenderLarge(__GLXclientState * __GLX_DECLARE_SWAP_VARIABLES; @@ -31,7 +29,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c req = (xGLXRenderLargeReq *) pc; if (client->swapped) { __GLX_SWAP_SHORT(&req->length); -@@ -2114,12 +2116,14 @@ +@@ -2114,12 +2116,14 @@ __glXDisp_RenderLarge(__GLXclientState * __glXResetLargeCommandStatus(cl); return error; } @@ -47,7 +45,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c client->errorValue = req->length; /* Reset in case this isn't 1st request. */ __glXResetLargeCommandStatus(cl); -@@ -2129,7 +2133,7 @@ +@@ -2129,7 +2133,7 @@ __glXDisp_RenderLarge(__GLXclientState * if (cl->largeCmdRequestsSoFar == 0) { __GLXrenderSizeData entry; @@ -56,7 +54,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c size_t cmdlen; int err; -@@ -2142,13 +2146,17 @@ +@@ -2142,13 +2146,17 @@ __glXDisp_RenderLarge(__GLXclientState * return __glXError(GLXBadLargeRequest); } @@ -75,7 +73,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c /* ** Check for core opcodes and grab entry data. -@@ -2170,17 +2178,13 @@ +@@ -2170,17 +2178,13 @@ __glXDisp_RenderLarge(__GLXclientState * if (extra < 0) { return BadLength; } @@ -98,7 +96,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c /* ** Make enough space in the buffer, then copy the entire request. */ -@@ -2207,6 +2211,7 @@ +@@ -2207,6 +2211,7 @@ __glXDisp_RenderLarge(__GLXclientState * ** We are receiving subsequent (i.e. not the first) requests of a ** multi request command. */ @@ -106,7 +104,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c /* ** Check the request number and the total request count. -@@ -2225,11 +2230,18 @@ +@@ -2225,11 +2230,18 @@ __glXDisp_RenderLarge(__GLXclientState * /* ** Check that we didn't get too much data. */ @@ -126,7 +124,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c memcpy(cl->largeCmdBuf + cl->largeCmdBytesSoFar, pc, dataBytes); cl->largeCmdBytesSoFar += dataBytes; cl->largeCmdRequestsSoFar++; -@@ -2241,17 +2253,16 @@ +@@ -2241,17 +2253,16 @@ __glXDisp_RenderLarge(__GLXclientState * ** This is the last request; it must have enough bytes to complete ** the command. */ diff --git a/debian/patches/CVE-2014-8xxx/0028-glx-Top-level-length-checking-for-swapped-VendorPriv.patch b/debian/patches/CVE-2014-8xxx/0028-glx-Top-level-length-checking-for-swapped-VendorPriv.patch index d42c840..ce7c72c 100644 --- a/debian/patches/CVE-2014-8xxx/0028-glx-Top-level-length-checking-for-swapped-VendorPriv.patch +++ b/debian/patches/CVE-2014-8xxx/0028-glx-Top-level-length-checking-for-swapped-VendorPriv.patch @@ -14,11 +14,9 @@ Signed-off-by: Alan Coopersmith glx/glxcmdsswap.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/glx/glxcmdsswap.c b/glx/glxcmdsswap.c -index 5d179f3..9ec1222 100644 --- a/glx/glxcmdsswap.c +++ b/glx/glxcmdsswap.c -@@ -958,11 +958,13 @@ __glXDispSwap_RenderLarge(__GLXclientState * cl, GLbyte * pc) +@@ -958,11 +958,13 @@ __glXDispSwap_RenderLarge(__GLXclientSta int __glXDispSwap_VendorPrivate(__GLXclientState * cl, GLbyte * pc) { @@ -32,7 +30,7 @@ index 5d179f3..9ec1222 100644 req = (xGLXVendorPrivateReq *) pc; __GLX_SWAP_SHORT(&req->length); -@@ -985,11 +987,13 @@ __glXDispSwap_VendorPrivate(__GLXclientState * cl, GLbyte * pc) +@@ -985,11 +987,13 @@ __glXDispSwap_VendorPrivate(__GLXclientS int __glXDispSwap_VendorPrivateWithReply(__GLXclientState * cl, GLbyte * pc) { @@ -46,6 +44,3 @@ index 5d179f3..9ec1222 100644 req = (xGLXVendorPrivateWithReplyReq *) pc; __GLX_SWAP_SHORT(&req->length); --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0029-glx-Request-length-checks-for-SetClientInfoARB-CVE-2.patch b/debian/patches/CVE-2014-8xxx/0029-glx-Request-length-checks-for-SetClientInfoARB-CVE-2.patch index 19ea8c6..d57ff59 100644 --- a/debian/patches/CVE-2014-8xxx/0029-glx-Request-length-checks-for-SetClientInfoARB-CVE-2.patch +++ b/debian/patches/CVE-2014-8xxx/0029-glx-Request-length-checks-for-SetClientInfoARB-CVE-2.patch @@ -14,8 +14,6 @@ Signed-off-by: Alan Coopersmith glx/clientinfo.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) -diff --git a/glx/clientinfo.c b/glx/clientinfo.c -index 4aaa4c9..c5fef30 100644 --- a/glx/clientinfo.c +++ b/glx/clientinfo.c @@ -33,18 +33,21 @@ static int @@ -45,7 +43,7 @@ index 4aaa4c9..c5fef30 100644 return BadLength; /* Verify that the actual length of the GL extension string matches what's -@@ -80,8 +83,11 @@ __glXDisp_SetClientInfoARB(__GLXclientState * cl, GLbyte * pc) +@@ -80,8 +83,11 @@ __glXDisp_SetClientInfoARB(__GLXclientSt int __glXDispSwap_SetClientInfoARB(__GLXclientState * cl, GLbyte * pc) { @@ -57,7 +55,7 @@ index 4aaa4c9..c5fef30 100644 req->length = bswap_16(req->length); req->numVersions = bswap_32(req->numVersions); req->numGLExtensionBytes = bswap_32(req->numGLExtensionBytes); -@@ -99,8 +105,11 @@ __glXDisp_SetClientInfo2ARB(__GLXclientState * cl, GLbyte * pc) +@@ -99,8 +105,11 @@ __glXDisp_SetClientInfo2ARB(__GLXclientS int __glXDispSwap_SetClientInfo2ARB(__GLXclientState * cl, GLbyte * pc) { @@ -69,6 +67,3 @@ index 4aaa4c9..c5fef30 100644 req->length = bswap_16(req->length); req->numVersions = bswap_32(req->numVersions); req->numGLExtensionBytes = bswap_32(req->numGLExtensionBytes); --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0030-glx-Length-checking-for-non-generated-vendor-private.patch b/debian/patches/CVE-2014-8xxx/0030-glx-Length-checking-for-non-generated-vendor-private.patch index c91b25c..9d1dd14 100644 --- a/debian/patches/CVE-2014-8xxx/0030-glx-Length-checking-for-non-generated-vendor-private.patch +++ b/debian/patches/CVE-2014-8xxx/0030-glx-Length-checking-for-non-generated-vendor-private.patch @@ -14,11 +14,9 @@ Signed-off-by: Alan Coopersmith glx/swap_interval.c | 2 ++ 2 files changed, 4 insertions(+) -diff --git a/glx/indirect_program.c b/glx/indirect_program.c -index cda139e..5caee7b 100644 --- a/glx/indirect_program.c +++ b/glx/indirect_program.c -@@ -56,6 +56,8 @@ DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc, +@@ -56,6 +56,8 @@ DoGetProgramString(struct __GLXclientSta __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); ClientPtr client = cl->client; @@ -27,11 +25,9 @@ index cda139e..5caee7b 100644 pc += __GLX_VENDPRIV_HDR_SIZE; if (cx != NULL) { GLenum target; -diff --git a/glx/swap_interval.c b/glx/swap_interval.c -index 17bc992..2320550 100644 --- a/glx/swap_interval.c +++ b/glx/swap_interval.c -@@ -46,6 +46,8 @@ DoSwapInterval(__GLXclientState * cl, GLbyte * pc, int do_swap) +@@ -46,6 +46,8 @@ DoSwapInterval(__GLXclientState * cl, GL __GLXcontext *cx; GLint interval; @@ -40,6 +36,3 @@ index 17bc992..2320550 100644 cx = __glXLookupContextByTag(cl, tag); if ((cx == NULL) || (cx->pGlxScreen == NULL)) { --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0031-glx-Length-checking-for-non-generated-single-request.patch b/debian/patches/CVE-2014-8xxx/0031-glx-Length-checking-for-non-generated-single-request.patch index 496f108..793a62a 100644 --- a/debian/patches/CVE-2014-8xxx/0031-glx-Length-checking-for-non-generated-single-request.patch +++ b/debian/patches/CVE-2014-8xxx/0031-glx-Length-checking-for-non-generated-single-request.patch @@ -25,11 +25,9 @@ Signed-off-by: Alan Coopersmith glx/singlepixswap.c | 34 ++++++++++++++++++++++++---- 5 files changed, 95 insertions(+), 29 deletions(-) -Index: xorg-server-1.15.1/glx/indirect_texture_compression.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/indirect_texture_compression.c 2014-12-04 11:56:48.021535287 -0500 -+++ xorg-server-1.15.1/glx/indirect_texture_compression.c 2014-12-04 11:56:48.017535262 -0500 -@@ -43,6 +43,8 @@ +--- a/glx/indirect_texture_compression.c ++++ b/glx/indirect_texture_compression.c +@@ -43,6 +43,8 @@ __glXDisp_GetCompressedTexImage(struct _ __GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error); ClientPtr client = cl->client; @@ -38,7 +36,7 @@ Index: xorg-server-1.15.1/glx/indirect_texture_compression.c pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { const GLenum target = *(GLenum *) (pc + 0); -@@ -85,6 +87,8 @@ +@@ -85,6 +87,8 @@ __glXDispSwap_GetCompressedTexImage(stru __glXForceCurrent(cl, bswap_32(req->contextTag), &error); ClientPtr client = cl->client; @@ -47,10 +45,8 @@ Index: xorg-server-1.15.1/glx/indirect_texture_compression.c pc += __GLX_SINGLE_HDR_SIZE; if (cx != NULL) { const GLenum target = (GLenum) bswap_32(*(int *) (pc + 0)); -Index: xorg-server-1.15.1/glx/single2.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/single2.c 2014-12-04 11:56:48.021535287 -0500 -+++ xorg-server-1.15.1/glx/single2.c 2014-12-04 11:56:48.017535262 -0500 +--- a/glx/single2.c ++++ b/glx/single2.c @@ -45,11 +45,14 @@ int __glXDisp_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc) @@ -66,7 +62,7 @@ Index: xorg-server-1.15.1/glx/single2.c cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { return error; -@@ -76,10 +79,13 @@ +@@ -76,10 +79,13 @@ __glXDisp_FeedbackBuffer(__GLXclientStat int __glXDisp_SelectBuffer(__GLXclientState * cl, GLbyte * pc) { @@ -80,7 +76,7 @@ Index: xorg-server-1.15.1/glx/single2.c cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { return error; -@@ -104,7 +110,7 @@ +@@ -104,7 +110,7 @@ __glXDisp_SelectBuffer(__GLXclientState int __glXDisp_RenderMode(__GLXclientState * cl, GLbyte * pc) { @@ -89,7 +85,7 @@ Index: xorg-server-1.15.1/glx/single2.c xGLXRenderModeReply reply; __GLXcontext *cx; GLint nitems = 0, retBytes = 0, retval, newModeCheck; -@@ -112,6 +118,8 @@ +@@ -112,6 +118,8 @@ __glXDisp_RenderMode(__GLXclientState * GLenum newMode; int error; @@ -98,7 +94,7 @@ Index: xorg-server-1.15.1/glx/single2.c cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { return error; -@@ -188,7 +196,6 @@ +@@ -188,7 +196,6 @@ __glXDisp_RenderMode(__GLXclientState * ** selection array, as per the API for glRenderMode itself. */ noChangeAllowed:; @@ -106,7 +102,7 @@ Index: xorg-server-1.15.1/glx/single2.c reply = (xGLXRenderModeReply) { .type = X_Reply, .sequenceNumber = client->sequence, -@@ -207,9 +214,12 @@ +@@ -207,9 +214,12 @@ __glXDisp_RenderMode(__GLXclientState * int __glXDisp_Flush(__GLXclientState * cl, GLbyte * pc) { @@ -119,7 +115,7 @@ Index: xorg-server-1.15.1/glx/single2.c cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { return error; -@@ -223,10 +233,12 @@ +@@ -223,10 +233,12 @@ __glXDisp_Flush(__GLXclientState * cl, G int __glXDisp_Finish(__GLXclientState * cl, GLbyte * pc) { @@ -133,7 +129,7 @@ Index: xorg-server-1.15.1/glx/single2.c cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { return error; -@@ -317,7 +329,7 @@ +@@ -317,7 +329,7 @@ __glXcombine_strings(const char *cext_st int DoGetString(__GLXclientState * cl, GLbyte * pc, GLboolean need_swap) { @@ -142,7 +138,7 @@ Index: xorg-server-1.15.1/glx/single2.c __GLXcontext *cx; GLenum name; const char *string; -@@ -327,6 +339,8 @@ +@@ -327,6 +339,8 @@ DoGetString(__GLXclientState * cl, GLbyt char *buf = NULL, *buf1 = NULL; GLint length = 0; @@ -151,7 +147,7 @@ Index: xorg-server-1.15.1/glx/single2.c /* If the client has the opposite byte order, swap the contextTag and * the name. */ -@@ -343,7 +357,6 @@ +@@ -343,7 +357,6 @@ DoGetString(__GLXclientState * cl, GLbyt pc += __GLX_SINGLE_HDR_SIZE; name = *(GLenum *) (pc + 0); string = (const char *) glGetString(name); @@ -159,10 +155,8 @@ Index: xorg-server-1.15.1/glx/single2.c if (string == NULL) string = ""; -Index: xorg-server-1.15.1/glx/single2swap.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/single2swap.c 2014-12-04 11:56:48.021535287 -0500 -+++ xorg-server-1.15.1/glx/single2swap.c 2014-12-04 11:56:48.017535262 -0500 +--- a/glx/single2swap.c ++++ b/glx/single2swap.c @@ -41,6 +41,7 @@ int __glXDispSwap_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc) @@ -171,7 +165,7 @@ Index: xorg-server-1.15.1/glx/single2swap.c GLsizei size; GLenum type; -@@ -48,6 +49,8 @@ +@@ -48,6 +49,8 @@ __glXDispSwap_FeedbackBuffer(__GLXclient __GLXcontext *cx; int error; @@ -180,7 +174,7 @@ Index: xorg-server-1.15.1/glx/single2swap.c __GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag); cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { -@@ -77,12 +80,15 @@ +@@ -77,12 +80,15 @@ __glXDispSwap_FeedbackBuffer(__GLXclient int __glXDispSwap_SelectBuffer(__GLXclientState * cl, GLbyte * pc) { @@ -196,7 +190,7 @@ Index: xorg-server-1.15.1/glx/single2swap.c __GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag); cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { -@@ -109,7 +115,7 @@ +@@ -109,7 +115,7 @@ __glXDispSwap_SelectBuffer(__GLXclientSt int __glXDispSwap_RenderMode(__GLXclientState * cl, GLbyte * pc) { @@ -205,7 +199,7 @@ Index: xorg-server-1.15.1/glx/single2swap.c __GLXcontext *cx; xGLXRenderModeReply reply; GLint nitems = 0, retBytes = 0, retval, newModeCheck; -@@ -120,6 +126,8 @@ +@@ -120,6 +126,8 @@ __glXDispSwap_RenderMode(__GLXclientStat __GLX_DECLARE_SWAP_ARRAY_VARIABLES; int error; @@ -214,7 +208,7 @@ Index: xorg-server-1.15.1/glx/single2swap.c __GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag); cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { -@@ -200,7 +208,6 @@ +@@ -200,7 +208,6 @@ __glXDispSwap_RenderMode(__GLXclientStat ** selection array, as per the API for glRenderMode itself. */ noChangeAllowed:; @@ -222,7 +216,7 @@ Index: xorg-server-1.15.1/glx/single2swap.c reply = (xGLXRenderModeReply) { .type = X_Reply, .sequenceNumber = client->sequence, -@@ -224,11 +231,14 @@ +@@ -224,11 +231,14 @@ __glXDispSwap_RenderMode(__GLXclientStat int __glXDispSwap_Flush(__GLXclientState * cl, GLbyte * pc) { @@ -237,7 +231,7 @@ Index: xorg-server-1.15.1/glx/single2swap.c __GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag); cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { -@@ -243,12 +253,14 @@ +@@ -243,12 +253,14 @@ __glXDispSwap_Flush(__GLXclientState * c int __glXDispSwap_Finish(__GLXclientState * cl, GLbyte * pc) { @@ -253,7 +247,7 @@ Index: xorg-server-1.15.1/glx/single2swap.c __GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag); cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { -@@ -260,7 +272,6 @@ +@@ -260,7 +272,6 @@ __glXDispSwap_Finish(__GLXclientState * cx->hasUnflushedCommands = GL_FALSE; /* Send empty reply packet to indicate finish is finished */ @@ -261,11 +255,9 @@ Index: xorg-server-1.15.1/glx/single2swap.c __GLX_BEGIN_REPLY(0); __GLX_PUT_RETVAL(0); __GLX_SWAP_REPLY_HEADER(); -Index: xorg-server-1.15.1/glx/singlepix.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/singlepix.c 2014-12-04 11:56:48.021535287 -0500 -+++ xorg-server-1.15.1/glx/singlepix.c 2014-12-04 11:56:48.017535262 -0500 -@@ -51,6 +51,8 @@ +--- a/glx/singlepix.c ++++ b/glx/singlepix.c +@@ -51,6 +51,8 @@ __glXDisp_ReadPixels(__GLXclientState * int error; char *answer, answerBuffer[200]; @@ -274,7 +266,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { return error; -@@ -100,6 +102,8 @@ +@@ -100,6 +102,8 @@ __glXDisp_GetTexImage(__GLXclientState * char *answer, answerBuffer[200]; GLint width = 0, height = 0, depth = 1; @@ -283,7 +275,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { return error; -@@ -157,6 +161,8 @@ +@@ -157,6 +161,8 @@ __glXDisp_GetPolygonStipple(__GLXclientS GLubyte answerBuffer[200]; char *answer; @@ -292,7 +284,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { return error; -@@ -217,15 +223,13 @@ +@@ -217,15 +223,13 @@ GetSeparableFilter(__GLXclientState * cl compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1); compsize2 = __glGetTexImage_size(target, 1, format, type, height, 1, 1); @@ -311,7 +303,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c __glXClearErrorOccured(); glGetSeparableFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLenum *) (pc + 8), answer, answer + compsize, NULL); -@@ -249,7 +253,8 @@ +@@ -249,7 +253,8 @@ int __glXDisp_GetSeparableFilter(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -321,7 +313,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c return GetSeparableFilter(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -257,7 +262,8 @@ +@@ -257,7 +262,8 @@ int __glXDisp_GetSeparableFilterEXT(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); @@ -331,7 +323,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c return GetSeparableFilter(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag); } -@@ -323,7 +329,8 @@ +@@ -323,7 +329,8 @@ int __glXDisp_GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -341,7 +333,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c return GetConvolutionFilter(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -331,7 +338,8 @@ +@@ -331,7 +338,8 @@ int __glXDisp_GetConvolutionFilterEXT(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); @@ -351,7 +343,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c return GetConvolutionFilter(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag); } -@@ -390,7 +398,8 @@ +@@ -390,7 +398,8 @@ int __glXDisp_GetHistogram(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -361,7 +353,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c return GetHistogram(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -398,7 +407,8 @@ +@@ -398,7 +407,8 @@ int __glXDisp_GetHistogramEXT(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); @@ -371,7 +363,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c return GetHistogram(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag); } -@@ -450,7 +460,8 @@ +@@ -450,7 +460,8 @@ int __glXDisp_GetMinmax(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -381,7 +373,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c return GetMinmax(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -458,7 +469,8 @@ +@@ -458,7 +469,8 @@ int __glXDisp_GetMinmaxEXT(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); @@ -391,7 +383,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c return GetMinmax(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag); } -@@ -517,7 +529,8 @@ +@@ -517,7 +529,8 @@ int __glXDisp_GetColorTable(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -401,7 +393,7 @@ Index: xorg-server-1.15.1/glx/singlepix.c return GetColorTable(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -525,6 +538,7 @@ +@@ -525,6 +538,7 @@ int __glXDisp_GetColorTableSGI(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); @@ -410,11 +402,9 @@ Index: xorg-server-1.15.1/glx/singlepix.c + REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16); return GetColorTable(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag); } -Index: xorg-server-1.15.1/glx/singlepixswap.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/singlepixswap.c 2014-12-04 11:56:48.021535287 -0500 -+++ xorg-server-1.15.1/glx/singlepixswap.c 2014-12-04 11:56:48.017535262 -0500 -@@ -53,6 +53,8 @@ +--- a/glx/singlepixswap.c ++++ b/glx/singlepixswap.c +@@ -53,6 +53,8 @@ __glXDispSwap_ReadPixels(__GLXclientStat int error; char *answer, answerBuffer[200]; @@ -423,7 +413,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c __GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag); cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { -@@ -114,6 +116,8 @@ +@@ -114,6 +116,8 @@ __glXDispSwap_GetTexImage(__GLXclientSta char *answer, answerBuffer[200]; GLint width = 0, height = 0, depth = 1; @@ -432,7 +422,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c __GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag); cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { -@@ -184,6 +188,8 @@ +@@ -184,6 +188,8 @@ __glXDispSwap_GetPolygonStipple(__GLXcli __GLX_DECLARE_SWAP_VARIABLES; @@ -441,7 +431,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c __GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag); cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error); if (!cx) { -@@ -251,15 +257,13 @@ +@@ -251,15 +257,13 @@ GetSeparableFilter(__GLXclientState * cl compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1); compsize2 = __glGetTexImage_size(target, 1, format, type, height, 1, 1); @@ -460,7 +450,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c __glXClearErrorOccured(); glGetSeparableFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4), *(GLenum *) (pc + 8), answer, answer + compsize, NULL); -@@ -285,7 +289,9 @@ +@@ -285,7 +289,9 @@ int __glXDispSwap_GetSeparableFilter(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -470,7 +460,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c return GetSeparableFilter(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -293,7 +299,9 @@ +@@ -293,7 +299,9 @@ int __glXDispSwap_GetSeparableFilterEXT(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); @@ -480,7 +470,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c return GetSeparableFilter(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag); } -@@ -367,7 +375,9 @@ +@@ -367,7 +375,9 @@ int __glXDispSwap_GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -490,7 +480,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c return GetConvolutionFilter(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -375,7 +385,9 @@ +@@ -375,7 +385,9 @@ int __glXDispSwap_GetConvolutionFilterEXT(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); @@ -500,7 +490,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c return GetConvolutionFilter(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag); } -@@ -441,7 +453,9 @@ +@@ -441,7 +453,9 @@ int __glXDispSwap_GetHistogram(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -510,7 +500,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c return GetHistogram(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -449,7 +463,9 @@ +@@ -449,7 +463,9 @@ int __glXDispSwap_GetHistogramEXT(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); @@ -520,7 +510,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c return GetHistogram(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag); } -@@ -507,7 +523,9 @@ +@@ -507,7 +523,9 @@ int __glXDispSwap_GetMinmax(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -530,7 +520,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c return GetMinmax(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -515,7 +533,9 @@ +@@ -515,7 +533,9 @@ int __glXDispSwap_GetMinmaxEXT(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); @@ -540,7 +530,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c return GetMinmax(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag); } -@@ -581,7 +601,9 @@ +@@ -581,7 +601,9 @@ int __glXDispSwap_GetColorTable(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc); @@ -550,7 +540,7 @@ Index: xorg-server-1.15.1/glx/singlepixswap.c return GetColorTable(cl, pc + __GLX_SINGLE_HDR_SIZE, tag); } -@@ -589,6 +611,8 @@ +@@ -589,6 +611,8 @@ int __glXDispSwap_GetColorTableSGI(__GLXclientState * cl, GLbyte * pc) { const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc); diff --git a/debian/patches/CVE-2014-8xxx/0032-glx-Pass-remaining-request-length-into-varsize-v2-CV.patch b/debian/patches/CVE-2014-8xxx/0032-glx-Pass-remaining-request-length-into-varsize-v2-CV.patch index 131b0d6..c524df9 100644 --- a/debian/patches/CVE-2014-8xxx/0032-glx-Pass-remaining-request-length-into-varsize-v2-CV.patch +++ b/debian/patches/CVE-2014-8xxx/0032-glx-Pass-remaining-request-length-into-varsize-v2-CV.patch @@ -19,11 +19,9 @@ Signed-off-by: Alan Coopersmith glx/rensize.c | 27 +++++--- 5 files changed, 205 insertions(+), 154 deletions(-) -Index: xorg-server-1.15.1/glx/glxcmds.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/glxcmds.c 2014-12-04 11:57:06.345650678 -0500 -+++ xorg-server-1.15.1/glx/glxcmds.c 2014-12-04 11:57:06.337650627 -0500 -@@ -2057,7 +2057,8 @@ +--- a/glx/glxcmds.c ++++ b/glx/glxcmds.c +@@ -2057,7 +2057,8 @@ __glXDisp_Render(__GLXclientState * cl, if (entry.varsize) { /* variable size command */ extra = (*entry.varsize) (pc + __GLX_RENDER_HDR_SIZE, @@ -33,7 +31,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c if (extra < 0) { return BadLength; } -@@ -2134,6 +2135,7 @@ +@@ -2134,6 +2135,7 @@ __glXDisp_RenderLarge(__GLXclientState * if (cl->largeCmdRequestsSoFar == 0) { __GLXrenderSizeData entry; int extra = 0; @@ -41,7 +39,7 @@ Index: xorg-server-1.15.1/glx/glxcmds.c size_t cmdlen; int err; -@@ -2174,7 +2176,8 @@ +@@ -2174,7 +2176,8 @@ __glXDisp_RenderLarge(__GLXclientState * ** will be in the 1st request, so it's okay to do this. */ extra = (*entry.varsize) (pc + __GLX_RENDER_LARGE_HDR_SIZE, @@ -51,11 +49,9 @@ Index: xorg-server-1.15.1/glx/glxcmds.c if (extra < 0) { return BadLength; } -Index: xorg-server-1.15.1/glx/glxserver.h -=================================================================== ---- xorg-server-1.15.1.orig/glx/glxserver.h 2014-12-04 11:57:06.345650678 -0500 -+++ xorg-server-1.15.1/glx/glxserver.h 2014-12-04 11:57:06.337650627 -0500 -@@ -179,7 +179,7 @@ +--- a/glx/glxserver.h ++++ b/glx/glxserver.h +@@ -179,7 +179,7 @@ typedef int (*__GLXprocPtr) (__GLXclient /* * Tables for computing the size of each rendering command. */ @@ -64,10 +60,8 @@ Index: xorg-server-1.15.1/glx/glxserver.h typedef struct { int bytes; -Index: xorg-server-1.15.1/glx/indirect_reqsize.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/indirect_reqsize.c 2014-12-04 11:57:06.345650678 -0500 -+++ xorg-server-1.15.1/glx/indirect_reqsize.c 2014-12-04 11:57:06.337650627 -0500 +--- a/glx/indirect_reqsize.c ++++ b/glx/indirect_reqsize.c @@ -31,24 +31,22 @@ #include "indirect_size.h" #include "indirect_reqsize.h" @@ -97,7 +91,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei n = *(GLsizei *) (pc + 0); GLenum type = *(GLenum *) (pc + 4); -@@ -60,11 +58,11 @@ +@@ -60,11 +58,11 @@ __glXCallListsReqSize(const GLbyte * pc, } compsize = __glCallLists_size(type); @@ -111,7 +105,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -88,7 +86,7 @@ +@@ -88,7 +86,7 @@ __glXBitmapReqSize(const GLbyte * pc, Bo } int @@ -120,7 +114,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 0); GLsizei compsize; -@@ -98,11 +96,11 @@ +@@ -98,11 +96,11 @@ __glXFogfvReqSize(const GLbyte * pc, Boo } compsize = __glFogfv_size(pname); @@ -134,7 +128,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; -@@ -112,11 +110,11 @@ +@@ -112,11 +110,11 @@ __glXLightfvReqSize(const GLbyte * pc, B } compsize = __glLightfv_size(pname); @@ -148,7 +142,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 0); GLsizei compsize; -@@ -126,11 +124,11 @@ +@@ -126,11 +124,11 @@ __glXLightModelfvReqSize(const GLbyte * } compsize = __glLightModelfv_size(pname); @@ -162,7 +156,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; -@@ -140,11 +138,11 @@ +@@ -140,11 +138,11 @@ __glXMaterialfvReqSize(const GLbyte * pc } compsize = __glMaterialfv_size(pname); @@ -176,7 +170,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -164,7 +162,7 @@ +@@ -164,7 +162,7 @@ __glXPolygonStippleReqSize(const GLbyte } int @@ -185,7 +179,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; -@@ -174,11 +172,11 @@ +@@ -174,11 +172,11 @@ __glXTexParameterfvReqSize(const GLbyte } compsize = __glTexParameterfv_size(pname); @@ -199,7 +193,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -206,7 +204,7 @@ +@@ -206,7 +204,7 @@ __glXTexImage1DReqSize(const GLbyte * pc } int @@ -208,7 +202,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -236,7 +234,7 @@ +@@ -236,7 +234,7 @@ __glXTexImage2DReqSize(const GLbyte * pc } int @@ -217,7 +211,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; -@@ -246,11 +244,11 @@ +@@ -246,11 +244,11 @@ __glXTexEnvfvReqSize(const GLbyte * pc, } compsize = __glTexEnvfv_size(pname); @@ -231,7 +225,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; -@@ -260,11 +258,11 @@ +@@ -260,11 +258,11 @@ __glXTexGendvReqSize(const GLbyte * pc, } compsize = __glTexGendv_size(pname); @@ -245,7 +239,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; -@@ -274,11 +272,11 @@ +@@ -274,11 +272,11 @@ __glXTexGenfvReqSize(const GLbyte * pc, } compsize = __glTexGenfv_size(pname); @@ -259,7 +253,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei mapsize = *(GLsizei *) (pc + 4); -@@ -286,11 +284,11 @@ +@@ -286,11 +284,11 @@ __glXPixelMapfvReqSize(const GLbyte * pc mapsize = bswap_32(mapsize); } @@ -273,7 +267,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei mapsize = *(GLsizei *) (pc + 4); -@@ -298,11 +296,11 @@ +@@ -298,11 +296,11 @@ __glXPixelMapusvReqSize(const GLbyte * p mapsize = bswap_32(mapsize); } @@ -287,7 +281,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -330,7 +328,7 @@ +@@ -330,7 +328,7 @@ __glXDrawPixelsReqSize(const GLbyte * pc } int @@ -296,7 +290,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei n = *(GLsizei *) (pc + 0); -@@ -338,11 +336,11 @@ +@@ -338,11 +336,11 @@ __glXPrioritizeTexturesReqSize(const GLb n = bswap_32(n); } @@ -310,7 +304,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -370,7 +368,7 @@ +@@ -370,7 +368,7 @@ __glXTexSubImage1DReqSize(const GLbyte * } int @@ -319,7 +313,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -400,7 +398,7 @@ +@@ -400,7 +398,7 @@ __glXTexSubImage2DReqSize(const GLbyte * } int @@ -328,7 +322,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -428,7 +426,7 @@ +@@ -428,7 +426,7 @@ __glXColorTableReqSize(const GLbyte * pc } int @@ -337,7 +331,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; -@@ -438,11 +436,11 @@ +@@ -438,11 +436,11 @@ __glXColorTableParameterfvReqSize(const } compsize = __glColorTableParameterfv_size(pname); @@ -351,7 +345,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -470,7 +468,7 @@ +@@ -470,7 +468,7 @@ __glXColorSubTableReqSize(const GLbyte * } int @@ -360,7 +354,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -498,7 +496,7 @@ +@@ -498,7 +496,7 @@ __glXConvolutionFilter1DReqSize(const GL } int @@ -369,7 +363,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; -@@ -528,7 +526,7 @@ +@@ -528,7 +526,7 @@ __glXConvolutionFilter2DReqSize(const GL } int @@ -378,7 +372,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; -@@ -538,11 +536,11 @@ +@@ -538,11 +536,11 @@ __glXConvolutionParameterfvReqSize(const } compsize = __glConvolutionParameterfv_size(pname); @@ -392,7 +386,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = *(GLint *) (pc + 8); -@@ -579,7 +577,7 @@ +@@ -579,7 +577,7 @@ __glXTexImage3DReqSize(const GLbyte * pc } int @@ -401,7 +395,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLint row_length = *(GLint *) (pc + 4); GLint image_height = *(GLint *) (pc + 8); -@@ -613,7 +611,7 @@ +@@ -613,7 +611,7 @@ __glXTexSubImage3DReqSize(const GLbyte * } int @@ -410,7 +404,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei imageSize = *(GLsizei *) (pc + 20); -@@ -621,11 +619,11 @@ +@@ -621,11 +619,11 @@ __glXCompressedTexImage1DReqSize(const G imageSize = bswap_32(imageSize); } @@ -424,7 +418,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei imageSize = *(GLsizei *) (pc + 24); -@@ -633,11 +631,11 @@ +@@ -633,11 +631,11 @@ __glXCompressedTexImage2DReqSize(const G imageSize = bswap_32(imageSize); } @@ -438,7 +432,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei imageSize = *(GLsizei *) (pc + 28); -@@ -645,11 +643,11 @@ +@@ -645,11 +643,11 @@ __glXCompressedTexImage3DReqSize(const G imageSize = bswap_32(imageSize); } @@ -452,7 +446,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei imageSize = *(GLsizei *) (pc + 36); -@@ -657,11 +655,11 @@ +@@ -657,11 +655,11 @@ __glXCompressedTexSubImage3DReqSize(cons imageSize = bswap_32(imageSize); } @@ -466,7 +460,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLenum pname = *(GLenum *) (pc + 0); GLsizei compsize; -@@ -671,11 +669,11 @@ +@@ -671,11 +669,11 @@ __glXPointParameterfvReqSize(const GLbyt } compsize = __glPointParameterfv_size(pname); @@ -480,7 +474,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei n = *(GLsizei *) (pc + 0); -@@ -683,11 +681,11 @@ +@@ -683,11 +681,11 @@ __glXDrawBuffersReqSize(const GLbyte * p n = bswap_32(n); } @@ -494,7 +488,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei len = *(GLsizei *) (pc + 8); -@@ -695,11 +693,11 @@ +@@ -695,11 +693,11 @@ __glXProgramStringARBReqSize(const GLbyt len = bswap_32(len); } @@ -508,7 +502,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei n = *(GLsizei *) (pc + 4); -@@ -707,11 +705,11 @@ +@@ -707,11 +705,11 @@ __glXVertexAttribs1dvNVReqSize(const GLb n = bswap_32(n); } @@ -522,7 +516,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei n = *(GLsizei *) (pc + 4); -@@ -719,11 +717,11 @@ +@@ -719,11 +717,11 @@ __glXVertexAttribs2dvNVReqSize(const GLb n = bswap_32(n); } @@ -536,7 +530,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei n = *(GLsizei *) (pc + 4); -@@ -731,11 +729,11 @@ +@@ -731,11 +729,11 @@ __glXVertexAttribs3dvNVReqSize(const GLb n = bswap_32(n); } @@ -550,7 +544,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei n = *(GLsizei *) (pc + 4); -@@ -743,11 +741,11 @@ +@@ -743,11 +741,11 @@ __glXVertexAttribs3fvNVReqSize(const GLb n = bswap_32(n); } @@ -564,7 +558,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei n = *(GLsizei *) (pc + 4); -@@ -755,11 +753,11 @@ +@@ -755,11 +753,11 @@ __glXVertexAttribs3svNVReqSize(const GLb n = bswap_32(n); } @@ -578,7 +572,7 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c { GLsizei n = *(GLsizei *) (pc + 4); -@@ -767,7 +765,7 @@ +@@ -767,7 +765,7 @@ __glXVertexAttribs4dvNVReqSize(const GLb n = bswap_32(n); } @@ -587,10 +581,8 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.c } ALIAS(Fogiv, Fogfv) -Index: xorg-server-1.15.1/glx/indirect_reqsize.h -=================================================================== ---- xorg-server-1.15.1.orig/glx/indirect_reqsize.h 2014-12-04 11:57:06.345650678 -0500 -+++ xorg-server-1.15.1/glx/indirect_reqsize.h 2014-12-04 11:57:06.337650627 -0500 +--- a/glx/indirect_reqsize.h ++++ b/glx/indirect_reqsize.h @@ -36,115 +36,156 @@ #define PURE #endif @@ -818,10 +810,8 @@ Index: xorg-server-1.15.1/glx/indirect_reqsize.h #undef PURE -Index: xorg-server-1.15.1/glx/rensize.c -=================================================================== ---- xorg-server-1.15.1.orig/glx/rensize.c 2014-12-04 11:57:06.345650678 -0500 -+++ xorg-server-1.15.1/glx/rensize.c 2014-12-04 11:57:06.341650652 -0500 +--- a/glx/rensize.c ++++ b/glx/rensize.c @@ -44,7 +44,7 @@ ((a & 0xff00U)<<8) | ((a & 0xffU)<<24)) @@ -831,7 +821,7 @@ Index: xorg-server-1.15.1/glx/rensize.c { GLenum target; GLint order; -@@ -61,7 +61,7 @@ +@@ -61,7 +61,7 @@ __glXMap1dReqSize(const GLbyte * pc, Boo } int @@ -840,7 +830,7 @@ Index: xorg-server-1.15.1/glx/rensize.c { GLenum target; GLint order; -@@ -86,7 +86,7 @@ +@@ -86,7 +86,7 @@ Map2Size(int k, int majorOrder, int mino } int @@ -849,7 +839,7 @@ Index: xorg-server-1.15.1/glx/rensize.c { GLenum target; GLint uorder, vorder; -@@ -103,7 +103,7 @@ +@@ -103,7 +103,7 @@ __glXMap2dReqSize(const GLbyte * pc, Boo } int @@ -858,7 +848,7 @@ Index: xorg-server-1.15.1/glx/rensize.c { GLenum target; GLint uorder, vorder; -@@ -359,13 +359,14 @@ +@@ -359,13 +359,14 @@ __glXTypeSize(GLenum enm) } int @@ -874,7 +864,7 @@ Index: xorg-server-1.15.1/glx/rensize.c int i; if (swap) { -@@ -374,6 +375,13 @@ +@@ -374,6 +375,13 @@ __glXDrawArraysReqSize(const GLbyte * pc } pc += sizeof(__GLXdispatchDrawArraysHeader); @@ -888,7 +878,7 @@ Index: xorg-server-1.15.1/glx/rensize.c compHeader = (__GLXdispatchDrawArraysComponentHeader *) pc; for (i = 0; i < numComponents; i++) { -@@ -417,17 +425,18 @@ +@@ -417,17 +425,18 @@ __glXDrawArraysReqSize(const GLbyte * pc return -1; } diff --git a/debian/patches/CVE-2014-8xxx/0033-glx-Fix-mask-truncation-in-__glXGetAnswerBuffer-CVE-.patch b/debian/patches/CVE-2014-8xxx/0033-glx-Fix-mask-truncation-in-__glXGetAnswerBuffer-CVE-.patch index b004cac..b7b34cf 100644 --- a/debian/patches/CVE-2014-8xxx/0033-glx-Fix-mask-truncation-in-__glXGetAnswerBuffer-CVE-.patch +++ b/debian/patches/CVE-2014-8xxx/0033-glx-Fix-mask-truncation-in-__glXGetAnswerBuffer-CVE-.patch @@ -16,11 +16,9 @@ Signed-off-by: Alan Coopersmith glx/indirect_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/glx/indirect_util.c b/glx/indirect_util.c -index de81491..9ba2815 100644 --- a/glx/indirect_util.c +++ b/glx/indirect_util.c -@@ -73,7 +73,7 @@ __glXGetAnswerBuffer(__GLXclientState * cl, size_t required_size, +@@ -73,7 +73,7 @@ __glXGetAnswerBuffer(__GLXclientState * void *local_buffer, size_t local_size, unsigned alignment) { void *buffer = local_buffer; @@ -29,6 +27,3 @@ index de81491..9ba2815 100644 if (local_size < required_size) { size_t worst_case_size; --- -1.7.9.2 - diff --git a/debian/patches/CVE-2014-8xxx/0034-CVE-2014-8097-additional.patch b/debian/patches/CVE-2014-8xxx/0034-CVE-2014-8097-additional.patch index 11ea00e..408db25 100644 --- a/debian/patches/CVE-2014-8xxx/0034-CVE-2014-8097-additional.patch +++ b/debian/patches/CVE-2014-8xxx/0034-CVE-2014-8097-additional.patch @@ -17,8 +17,6 @@ Signed-off-by: Keith Packard Signed-off-by: Alan Coopersmith -diff --git a/dbe/dbe.c b/dbe/dbe.c -index df2ad5c..e5d928d 100644 --- a/dbe/dbe.c +++ b/dbe/dbe.c @@ -452,6 +452,7 @@ ProcDbeSwapBuffers(ClientPtr client) @@ -42,6 +40,3 @@ index df2ad5c..e5d928d 100644 if (error != Success) { free(swapInfo); return error; --- -cgit v0.10.2 - diff --git a/debian/patches/CVE-2014-8xxx/0035-CVE-2014-8098-additional.patch b/debian/patches/CVE-2014-8xxx/0035-CVE-2014-8098-additional.patch index 612561f..b65991e 100644 --- a/debian/patches/CVE-2014-8xxx/0035-CVE-2014-8098-additional.patch +++ b/debian/patches/CVE-2014-8xxx/0035-CVE-2014-8098-additional.patch @@ -11,11 +11,9 @@ Signed-off-by: Keith Packard Reviewed-by: Alan Coopersmith Signed-off-by: Alan Coopersmith -diff --git a/glx/clientinfo.c b/glx/clientinfo.c -index c5fef30..74ad919 100644 --- a/glx/clientinfo.c +++ b/glx/clientinfo.c -@@ -36,13 +36,14 @@ set_client_info(__GLXclientState * cl, xGLXSetClientInfoARBReq * req, +@@ -36,13 +36,14 @@ set_client_info(__GLXclientState * cl, x ClientPtr client = cl->client; char *gl_extensions; char *glx_extensions; @@ -31,6 +29,3 @@ index c5fef30..74ad919 100644 size = safe_add(size, safe_mul(req->numVersions, bytes_per_version)); size = safe_add(size, safe_pad(req->numGLExtensionBytes)); size = safe_add(size, safe_pad(req->numGLXExtensionBytes)); --- -cgit v0.10.2 - diff --git a/debian/patches/CVE-2014-8xxx/0036-CVE-2014-8092-additional.patch b/debian/patches/CVE-2014-8xxx/0036-CVE-2014-8092-additional.patch index 69f1ea9..3656e92 100644 --- a/debian/patches/CVE-2014-8xxx/0036-CVE-2014-8092-additional.patch +++ b/debian/patches/CVE-2014-8xxx/0036-CVE-2014-8092-additional.patch @@ -10,8 +10,6 @@ Signed-off-by: Keith Packard Reviewed-by: Alan Coopersmith Signed-off-by: Alan Coopersmith -diff --git a/include/dix.h b/include/dix.h -index 21176a8..921156b 100644 --- a/include/dix.h +++ b/include/dix.h @@ -80,7 +80,7 @@ SOFTWARE. @@ -23,6 +21,3 @@ index 21176a8..921156b 100644 ((((uint64_t) sizeof(req) + (n) + 3) >> 2) != (uint64_t) client->req_len)) \ return(BadLength) --- -cgit v0.10.2 - diff --git a/debian/patches/CVE-2014-8xxx/0037-CVE-2014-8092-additional-2.patch b/debian/patches/CVE-2014-8xxx/0037-CVE-2014-8092-additional-2.patch index ade1661..c17e5cf 100644 --- a/debian/patches/CVE-2014-8xxx/0037-CVE-2014-8092-additional-2.patch +++ b/debian/patches/CVE-2014-8xxx/0037-CVE-2014-8092-additional-2.patch @@ -14,11 +14,9 @@ Signed-off-by: Keith Packard Reviewed-by: Alan Coopersmith Signed-off-by: Alan Coopersmith -Index: xorg-server-1.15.1/os/access.c -=================================================================== ---- xorg-server-1.15.1.orig/os/access.c 2014-12-09 17:12:07.880851371 -0500 -+++ xorg-server-1.15.1/os/access.c 2014-12-09 17:12:07.880851371 -0500 -@@ -1335,7 +1335,7 @@ +--- a/os/access.c ++++ b/os/access.c +@@ -1335,7 +1335,7 @@ GetHosts(pointer *data, int *pnHosts, in } for (host = validhosts; host; host = host->next) { len = host->len; diff --git a/debian/patches/config-add-no-removal.patch b/debian/patches/config-add-no-removal.patch index 88a5b6d..381df37 100644 --- a/debian/patches/config-add-no-removal.patch +++ b/debian/patches/config-add-no-removal.patch @@ -1,8 +1,6 @@ -diff --git a/config/udev.c b/config/udev.c -index 454838f..74ac998 100644 --- a/config/udev.c +++ b/config/udev.c -@@ -300,10 +300,9 @@ wakeup_handler(pointer data, int err, pointer read_mask) +@@ -311,10 +311,9 @@ wakeup_handler(pointer data, int err, po return; action = udev_device_get_action(udev_device); if (action) { @@ -15,11 +13,9 @@ index 454838f..74ac998 100644 /* ignore change for the drm devices */ if (strcmp(udev_device_get_subsystem(udev_device), "drm")) { device_removed(udev_device); -diff --git a/hw/xfree86/os-support/linux/lnx_platform.c b/hw/xfree86/os-support/linux/lnx_platform.c -index 76f5583..c125e35 100644 --- a/hw/xfree86/os-support/linux/lnx_platform.c +++ b/hw/xfree86/os-support/linux/lnx_platform.c -@@ -126,6 +126,8 @@ xf86PlatformDeviceProbe(struct OdevAttributes *attribs) +@@ -160,6 +160,8 @@ xf86PlatformDeviceProbe(struct OdevAttri return; out_free: diff --git a/debian/patches/disable-rotation-transform-gpuscreens.patch b/debian/patches/disable-rotation-transform-gpuscreens.patch index 9f95572..5075555 100644 --- a/debian/patches/disable-rotation-transform-gpuscreens.patch +++ b/debian/patches/disable-rotation-transform-gpuscreens.patch @@ -1,5 +1,3 @@ -diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c -index a441fd1..9147a26 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -778,7 +778,7 @@ xf86CrtcScreenInit(ScreenPtr screen) diff --git a/debian/patches/drm_device_keep_trying.patch b/debian/patches/drm_device_keep_trying.patch index 8a8f920..34051a1 100644 --- a/debian/patches/drm_device_keep_trying.patch +++ b/debian/patches/drm_device_keep_trying.patch @@ -21,7 +21,7 @@ Signed-off-by: Bryce Harrington --- a/config/udev.c +++ b/config/udev.c -@@ -98,7 +98,7 @@ +@@ -98,7 +98,7 @@ device_added(struct udev_device *udev_de if (strncmp(sysname, "card", 4) != 0) return; @@ -30,7 +30,7 @@ Signed-off-by: Bryce Harrington config_udev_odev_setup_attribs(path, syspath, NewGPUDeviceRequest); return; -@@ -430,11 +430,23 @@ +@@ -430,11 +430,23 @@ config_udev_fini(void) #ifdef CONFIG_UDEV_KMS static Bool @@ -54,7 +54,7 @@ Signed-off-by: Bryce Harrington if (!attribs) return FALSE; -@@ -447,6 +459,33 @@ +@@ -447,6 +459,33 @@ config_udev_odev_setup_attribs(const cha if (ret == FALSE) goto fail; @@ -135,7 +135,7 @@ Signed-off-by: Bryce Harrington Bool xf86PlatformDeviceCheckBusID(struct xf86_platform_device *device, const char *busid) { -@@ -105,11 +67,6 @@ +@@ -105,11 +67,6 @@ xf86PlatformReprobeDevice(int index, str char *dpath; dpath = xf86_get_platform_attrib(index, ODEV_ATTRIB_PATH); @@ -147,7 +147,7 @@ Signed-off-by: Bryce Harrington ret = xf86platformAddDevice(index); if (ret == -1) xf86_remove_platform_device(index); -@@ -145,18 +102,10 @@ +@@ -145,18 +102,10 @@ xf86PlatformDeviceProbe(struct OdevAttri LogMessage(X_INFO, "xfree86: Adding drm device (%s)\n", path); diff --git a/debian/patches/fb-24-depth.patch b/debian/patches/fb-24-depth.patch index bdbd4c7..6d52b64 100644 --- a/debian/patches/fb-24-depth.patch +++ b/debian/patches/fb-24-depth.patch @@ -20,8 +20,6 @@ Date: Tue Aug 19 15:57:22 2014 -0500 Signed-off-by: Takashi Iwai Reviewed-by: Keith Packard -diff --git a/fb/fbwindow.c b/fb/fbwindow.c -index 368c4b8..c90175f 100644 --- a/fb/fbwindow.c +++ b/fb/fbwindow.c @@ -33,7 +33,7 @@ fbCreateWindow(WindowPtr pWin) diff --git a/debian/patches/fix-detach-gpu.patch b/debian/patches/fix-detach-gpu.patch index cba33cf..8af9913 100644 --- a/debian/patches/fix-detach-gpu.patch +++ b/debian/patches/fix-detach-gpu.patch @@ -1,6 +1,6 @@ --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c -@@ -1800,7 +1800,8 @@ +@@ -1800,7 +1800,8 @@ xf86RandR14ProviderSetOutputSource(Scree ScreenPtr cmScreen = pScreen->current_master; xf86DetachOutputGPU(pScreen); @@ -10,7 +10,7 @@ } provider->output_source = NULL; return TRUE; -@@ -1811,7 +1812,8 @@ +@@ -1811,7 +1812,8 @@ xf86RandR14ProviderSetOutputSource(Scree SetRootClip(source_provider->pScreen, FALSE); @@ -20,7 +20,7 @@ AttachOutputGPU(source_provider->pScreen, pScreen); provider->output_source = source_provider; -@@ -1828,7 +1830,8 @@ +@@ -1828,7 +1830,8 @@ xf86RandR14ProviderSetOffloadSink(Screen if (provider->offload_sink) { ScreenPtr cmScreen = pScreen->current_master; xf86DetachOutputGPU(pScreen); @@ -30,7 +30,7 @@ } provider->offload_sink = NULL; -@@ -1838,7 +1841,8 @@ +@@ -1838,7 +1841,8 @@ xf86RandR14ProviderSetOffloadSink(Screen if (provider->offload_sink == sink_provider) return TRUE; @@ -40,7 +40,7 @@ AttachOffloadGPU(sink_provider->pScreen, pScreen); provider->offload_sink = sink_provider; -@@ -1917,12 +1921,14 @@ +@@ -1917,12 +1921,14 @@ xf86RandR14ProviderDestroy(ScreenPtr scr config->randr_provider->offload_sink = NULL; RRSetChanged(screen); } @@ -59,7 +59,7 @@ config->randr_provider = NULL; --- a/dix/dispatch.c +++ b/dix/dispatch.c -@@ -3911,6 +3911,8 @@ AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr new) +@@ -3911,6 +3911,8 @@ AttachUnboundGPU(ScreenPtr pScreen, Scre assert(new->isGPU); assert(!new->current_master); xorg_list_add(&new->unattached_head, &pScreen->unattached_list); @@ -68,7 +68,7 @@ new->current_master = pScreen; } -@@ -3937,7 +3937,8 @@ +@@ -3935,7 +3937,8 @@ DetachOutputGPU(ScreenPtr slave) { assert(slave->isGPU); xorg_list_del(&slave->output_head); @@ -78,7 +78,7 @@ } void -@@ -3953,6 +3954,7 @@ +@@ -3951,6 +3954,7 @@ DetachOffloadGPU(ScreenPtr slave) { assert(slave->isGPU); xorg_list_del(&slave->offload_head); diff --git a/debian/patches/fix-ftbfs-ppc64el.patch b/debian/patches/fix-ftbfs-ppc64el.patch index f188ac8..b6a1894 100644 --- a/debian/patches/fix-ftbfs-ppc64el.patch +++ b/debian/patches/fix-ftbfs-ppc64el.patch @@ -1,8 +1,6 @@ -diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c -index a9a9fa5..f88cdc0 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c -@@ -221,7 +221,7 @@ KdUnregisterFd(void *closure, int fd, Bool do_close) +@@ -221,7 +221,7 @@ KdUnregisterFd(void *closure, int fd, Bo if (do_close) close(kdInputFds[i].fd); kdNumInputFds--; diff --git a/debian/patches/mi-dont-process-disabled.patch b/debian/patches/mi-dont-process-disabled.patch index 81691ee..01ee446 100644 --- a/debian/patches/mi-dont-process-disabled.patch +++ b/debian/patches/mi-dont-process-disabled.patch @@ -42,11 +42,9 @@ Modified by Maarten Lankhorst to pass tests. mi/mieq.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/mi/mieq.c b/mi/mieq.c -index 4c07480..188a0b0 100644 --- a/mi/mieq.c +++ b/mi/mieq.c -@@ -515,6 +515,10 @@ mieqProcessDeviceEvent(DeviceIntPtr dev, InternalEvent *event, ScreenPtr screen) +@@ -515,6 +515,10 @@ mieqProcessDeviceEvent(DeviceIntPtr dev, verify_internal_event(event); @@ -57,6 +55,3 @@ index 4c07480..188a0b0 100644 /* Custom event handler */ handler = miEventQueue.handlers[event->any.type]; --- -1.9.0 - diff --git a/debian/patches/no-nv.patch b/debian/patches/no-nv.patch index 4fb23e7..a167eb4 100644 --- a/debian/patches/no-nv.patch +++ b/debian/patches/no-nv.patch @@ -7,11 +7,9 @@ Date: Wed Apr 3 13:36:20 2013 -0700 For linux this driver is long obsolete now. It may have some relevance on non-linux systems. -diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c -index b2545be..73a662d 100644 --- a/hw/xfree86/common/xf86pciBus.c +++ b/hw/xfree86/common/xf86pciBus.c -@@ -1220,8 +1220,9 @@ xf86VideoPtrToDriverList(struct pci_device *dev, +@@ -1220,8 +1220,9 @@ xf86VideoPtrToDriverList(struct pci_devi driverList[idx++] = "nvidia"; #ifdef __linux__ driverList[idx++] = "nouveau"; diff --git a/debian/patches/pixman-validate.patch b/debian/patches/pixman-validate.patch index 513de6c..4bd8ee6 100644 --- a/debian/patches/pixman-validate.patch +++ b/debian/patches/pixman-validate.patch @@ -1,8 +1,6 @@ -diff --git a/exa/exa_render.c b/exa/exa_render.c -index 172e2b5..807eeba 100644 --- a/exa/exa_render.c +++ b/exa/exa_render.c -@@ -1141,7 +1141,8 @@ exaTrapezoids(CARD8 op, PicturePtr pSrc, PicturePtr pDst, +@@ -1141,7 +1141,8 @@ exaTrapezoids(CARD8 op, PicturePtr pSrc, exaPrepareAccess(pPicture->pDrawable, EXA_PREPARE_DEST); for (; ntrap; ntrap--, traps++) @@ -12,8 +10,6 @@ index 172e2b5..807eeba 100644 exaFinishAccess(pPicture->pDrawable, EXA_PREPARE_DEST); xRel = bounds.x1 + xSrc - xDst; -diff --git a/render/picture.h b/render/picture.h -index c85353a..49eb263 100644 --- a/render/picture.h +++ b/render/picture.h @@ -211,7 +211,7 @@ typedef pixman_fixed_t xFixed; diff --git a/debian/patches/ppc64el-endian-fix.patch b/debian/patches/ppc64el-endian-fix.patch index 6950b27..a889547 100644 --- a/debian/patches/ppc64el-endian-fix.patch +++ b/debian/patches/ppc64el-endian-fix.patch @@ -10,8 +10,6 @@ Signed-off-by: Egbert Eich Reviewed-by: Mark Kettenis Signed-off-by: Keith Packard --- -diff --git a/include/servermd.h b/include/servermd.h -index 081123b..e413314 100644 --- a/include/servermd.h +++ b/include/servermd.h @@ -114,8 +114,13 @@ SOFTWARE. @@ -30,5 +28,3 @@ index 081123b..e413314 100644 #define GLYPHPADBYTES 4 #endif /* PowerPC */ --- -cgit v0.9.0.2-2-gbebe diff --git a/debian/patches/rotation-slaved-crtc-bounds.patch b/debian/patches/rotation-slaved-crtc-bounds.patch index 4c8345a..08566eb 100644 --- a/debian/patches/rotation-slaved-crtc-bounds.patch +++ b/debian/patches/rotation-slaved-crtc-bounds.patch @@ -18,7 +18,7 @@ Cc: Maarten Lankhorst --- a/randr/rrcrtc.c +++ b/randr/rrcrtc.c -@@ -273,27 +273,43 @@ +@@ -273,27 +273,43 @@ RRCrtcPendingProperties(RRCrtcPtr crtc) return FALSE; } @@ -74,7 +74,7 @@ Cc: Maarten Lankhorst /* overlapping counts as adjacent */ static Bool crtcs_adjacent(const RRCrtcPtr a, const RRCrtcPtr b) -@@ -466,9 +482,9 @@ +@@ -466,9 +482,9 @@ rrCheckPixmapBounding(ScreenPtr pScreen, if (!pScrPriv->crtcs[c]->mode) continue; newbox.x1 = pScrPriv->crtcs[c]->x; @@ -86,7 +86,7 @@ Cc: Maarten Lankhorst } RegionInit(&new_crtc_region, &newbox, 1); RegionUnion(&total_region, &total_region, &new_crtc_region); -@@ -487,9 +503,9 @@ +@@ -487,9 +503,9 @@ rrCheckPixmapBounding(ScreenPtr pScreen, if (!pScrPriv->crtcs[c]->mode) continue; newbox.x1 = pScrPriv->crtcs[c]->x; @@ -98,7 +98,7 @@ Cc: Maarten Lankhorst } RegionInit(&new_crtc_region, &newbox, 1); RegionUnion(&total_region, &total_region, &new_crtc_region); -@@ -544,8 +560,8 @@ +@@ -544,8 +560,8 @@ RRCrtcSet(RRCrtcPtr crtc, int width = 0, height = 0; if (mode) { @@ -109,7 +109,7 @@ Cc: Maarten Lankhorst } ErrorF("have a master to look out for\n"); ret = rrCheckPixmapBounding(master, crtc, -@@ -1672,8 +1688,8 @@ +@@ -1672,8 +1688,8 @@ RRReplaceScanoutPixmap(DrawablePtr pDraw changed = FALSE; if (crtc->mode && crtc->x == pDrawable->x && crtc->y == pDrawable->y && diff --git a/debian/patches/rrcrtc-brackets-are-hard.patch b/debian/patches/rrcrtc-brackets-are-hard.patch index 6605162..66c70b5 100644 --- a/debian/patches/rrcrtc-brackets-are-hard.patch +++ b/debian/patches/rrcrtc-brackets-are-hard.patch @@ -12,11 +12,9 @@ Signed-off-by: Dave Airlie randr/rrcrtc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c -index 2f76b62..40b01f0 100644 --- a/randr/rrcrtc.c +++ b/randr/rrcrtc.c -@@ -474,7 +474,7 @@ rrCheckPixmapBounding(ScreenPtr pScreen, +@@ -476,7 +476,7 @@ rrCheckPixmapBounding(ScreenPtr pScreen, xorg_list_for_each_entry(slave, &pScreen->output_slave_list, output_head) { rrScrPriv(slave); @@ -25,7 +23,7 @@ index 2f76b62..40b01f0 100644 if (pScrPriv->crtcs[c] == rr_crtc) { newbox.x1 = x; newbox.x2 = x + w; -@@ -489,8 +489,9 @@ rrCheckPixmapBounding(ScreenPtr pScreen, +@@ -491,8 +491,9 @@ rrCheckPixmapBounding(ScreenPtr pScreen, newbox.y1 = pScrPriv->crtcs[c]->y; newbox.y2 = pScrPriv->crtcs[c]->y + pScrPriv->crtcs[c]->mode->mode.height; } @@ -37,6 +35,3 @@ index 2f76b62..40b01f0 100644 } newsize = RegionExtents(&total_region); --- -1.8.2.1 - diff --git a/debian/patches/series b/debian/patches/series index f1c7cc4..e752337 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -62,6 +62,8 @@ xfree86_add_matchseat_key_to_xorg_conf.patch xfree86_add_matchseat_key_description_to_xorg_conf_man.patch rotation-slaved-crtc-bounds.patch fb-24-depth.patch +# Mali fixes +xorg-server-005-mali_fixes.patch # CVE-2014-8095 to CVE-2014-8103 CVE-2014-8xxx/0000-glx-check-return.patch diff --git a/debian/patches/xf86-fixup-detection.patch b/debian/patches/xf86-fixup-detection.patch index e454c75..495e65f 100644 --- a/debian/patches/xf86-fixup-detection.patch +++ b/debian/patches/xf86-fixup-detection.patch @@ -1,6 +1,6 @@ --- a/hw/xfree86/common/xf86pciBus.c +++ b/hw/xfree86/common/xf86pciBus.c -@@ -546,6 +546,15 @@ +@@ -546,6 +546,15 @@ xf86PciProbeDev(DriverPtr drvp) for (k = 0; k < xf86NumEntities; k++) { EntityPtr pEnt = xf86Entities[k]; @@ -18,7 +18,7 @@ if (pEnt->bus.id.pci == pPci) { --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c -@@ -167,11 +167,12 @@ +@@ -167,11 +167,12 @@ xf86_check_platform_slot(const struct xf for (i = 0; i < xf86NumEntities; i++) { const EntityPtr u = xf86Entities[i]; @@ -35,7 +35,7 @@ } return TRUE; } -@@ -302,6 +303,11 @@ +@@ -302,6 +303,11 @@ static Bool doPlatformProbe(struct xf86_ for (nent = 0; nent < xf86NumEntities; nent++) { EntityPtr pEnt = xf86Entities[nent]; @@ -47,7 +47,7 @@ if (pEnt->bus.type != BUS_PLATFORM) continue; if (pEnt->bus.id.plat == dev) { -@@ -368,18 +374,15 @@ +@@ -368,18 +374,15 @@ xf86platformProbeDev(DriverPtr drvp) /* for non-seat0 servers assume first device is the master */ if (ServerIsNotSeat0()) break; @@ -69,7 +69,7 @@ } } -@@ -398,6 +401,7 @@ +@@ -398,6 +401,7 @@ xf86platformProbeDev(DriverPtr drvp) } } diff --git a/debian/patches/xf86-ignore-conflicting-rr-caps.patch b/debian/patches/xf86-ignore-conflicting-rr-caps.patch index 162a30f..ee4523c 100644 --- a/debian/patches/xf86-ignore-conflicting-rr-caps.patch +++ b/debian/patches/xf86-ignore-conflicting-rr-caps.patch @@ -1,6 +1,6 @@ --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c -@@ -1569,10 +1569,16 @@ +@@ -1569,10 +1569,16 @@ xf86RandR12CreateObjects12(ScreenPtr pSc } if (config->name) { diff --git a/debian/patches/xf86-inactive-gpuscreen.patch b/debian/patches/xf86-inactive-gpuscreen.patch index 11ffec4..b70c99a 100644 --- a/debian/patches/xf86-inactive-gpuscreen.patch +++ b/debian/patches/xf86-inactive-gpuscreen.patch @@ -1,8 +1,6 @@ -diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c -index c790d50..a47c2d0 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c -@@ -387,7 +387,7 @@ xf86platformProbeDev(DriverPtr drvp) +@@ -361,7 +361,7 @@ xf86platformProbeDev(DriverPtr drvp) Bool foundScreen = FALSE; GDevPtr *devList; const unsigned numDevs = xf86MatchDevice(drvp->driverName, &devList); @@ -11,7 +9,7 @@ index c790d50..a47c2d0 100644 /* find the main device or any device specificed in xorg.conf */ for (i = 0; i < numDevs; i++) { -@@ -415,7 +415,11 @@ xf86platformProbeDev(DriverPtr drvp) +@@ -389,7 +389,11 @@ xf86platformProbeDev(DriverPtr drvp) if (j == xf86_num_platform_devices) continue; diff --git a/debian/patches/xfree86-no-xv-for-gpuscreens.patch b/debian/patches/xfree86-no-xv-for-gpuscreens.patch index cfb0f08..8792672 100644 --- a/debian/patches/xfree86-no-xv-for-gpuscreens.patch +++ b/debian/patches/xfree86-no-xv-for-gpuscreens.patch @@ -1,8 +1,6 @@ -diff --git a/hw/xfree86/common/xf86xv.c b/hw/xfree86/common/xf86xv.c -index 92d0f6d..a33366a 100644 --- a/hw/xfree86/common/xf86xv.c +++ b/hw/xfree86/common/xf86xv.c -@@ -234,7 +234,7 @@ xf86XVScreenInit(ScreenPtr pScreen, XF86VideoAdaptorPtr * adaptors, int num) +@@ -234,7 +234,7 @@ xf86XVScreenInit(ScreenPtr pScreen, XF86 XF86XVScreenPtr ScreenPriv; XvScreenPtr pxvs; @@ -11,8 +9,6 @@ index 92d0f6d..a33366a 100644 return FALSE; if (Success != XvScreenInit(pScreen)) -diff --git a/hw/xfree86/common/xf86xvmc.c b/hw/xfree86/common/xf86xvmc.c -index 78a32bf..a0f6fcd 100644 --- a/hw/xfree86/common/xf86xvmc.c +++ b/hw/xfree86/common/xf86xvmc.c @@ -148,11 +148,15 @@ xf86XvMCScreenInit(ScreenPtr pScreen, diff --git a/debian/patches/xfree86_add_matchseat_key_description_to_xorg_conf_man.patch b/debian/patches/xfree86_add_matchseat_key_description_to_xorg_conf_man.patch index c7f70cc..f32f71f 100644 --- a/debian/patches/xfree86_add_matchseat_key_description_to_xorg_conf_man.patch +++ b/debian/patches/xfree86_add_matchseat_key_description_to_xorg_conf_man.patch @@ -14,11 +14,9 @@ Signed-off-by: Peter Hutterer hw/xfree86/man/xorg.conf.man | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) -diff --git a/hw/xfree86/man/xorg.conf.man b/hw/xfree86/man/xorg.conf.man -index 6d2652e..cadd87b 100644 --- a/hw/xfree86/man/xorg.conf.man +++ b/hw/xfree86/man/xorg.conf.man -@@ -1378,6 +1378,14 @@ for the regular text mode. +@@ -1374,6 +1374,14 @@ for the regular text mode. The frequency is specified in MHz. This is rarely used. .TP 7 @@ -33,7 +31,7 @@ index 6d2652e..cadd87b 100644 .BI "Option \*qModeDebug\*q \*q" boolean \*q Enable printing of additional debugging information about modesetting to the server log. -@@ -1900,6 +1908,14 @@ The only case where there is even a choice in this value is for depth 24, +@@ -1896,6 +1904,14 @@ The only case where there is even a choi where some hardware supports both a packed 24 bit framebuffer layout and a sparse 32 bit framebuffer layout. .TP 7 @@ -48,7 +46,7 @@ index 6d2652e..cadd87b 100644 .B Options Various .B Option -@@ -2295,6 +2311,14 @@ and the first two should normally be used to indicate the core pointer +@@ -2291,6 +2307,14 @@ and the first two should normally be use and core keyboard devices respectively. .RE .TP 7 @@ -63,6 +61,3 @@ index 6d2652e..cadd87b 100644 .B Options In addition to the following, any option permitted in the .B ServerFlags --- -2.0.4 - diff --git a/debian/patches/xfree86_add_matchseat_key_to_xorg_conf.patch b/debian/patches/xfree86_add_matchseat_key_to_xorg_conf.patch index 31ab950..f6d3fa3 100644 --- a/debian/patches/xfree86_add_matchseat_key_to_xorg_conf.patch +++ b/debian/patches/xfree86_add_matchseat_key_to_xorg_conf.patch @@ -42,11 +42,9 @@ Signed-off-by: Peter Hutterer hw/xfree86/parser/xf86tokens.h | 1 + 6 files changed, 47 insertions(+), 9 deletions(-) -Index: xorg-server-trusty-matchseat/hw/xfree86/common/xf86Config.c -=================================================================== ---- xorg-server-trusty-matchseat.orig/hw/xfree86/common/xf86Config.c 2014-09-11 10:50:39.823851011 -0300 -+++ xorg-server-trusty-matchseat/hw/xfree86/common/xf86Config.c 2014-09-11 10:55:16.098992439 -0300 -@@ -232,6 +232,18 @@ +--- a/hw/xfree86/common/xf86Config.c ++++ b/hw/xfree86/common/xf86Config.c +@@ -233,6 +233,18 @@ xf86ValidateFontPath(char *path) return tmp_path; } @@ -65,7 +63,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/common/xf86Config.c /* * use the datastructure that the parser provides and pick out the parts * that we need at this point -@@ -1600,8 +1612,11 @@ +@@ -1604,8 +1616,11 @@ configLayout(serverLayoutPtr servlayoutp * config file, or - if it is NULL - configScreen autogenerates one for * us */ if (!count) { @@ -78,7 +76,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/common/xf86Config.c 0, X_CONFIG)) { free(slp[0].screen); free(slp); -@@ -1841,7 +1856,7 @@ +@@ -1845,7 +1860,7 @@ configScreen(confScreenPtr screenp, XF86 * set it to NULL so that the section can be autoconfigured later */ screenp->device = xnfcalloc(1, sizeof(GDevRec)); if ((!conf_screen->scrn_device) && (xf86configptr->conf_device_lst)) { @@ -87,7 +85,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/common/xf86Config.c xf86Msg(X_DEFAULT, "No device specified for screen \"%s\".\n" "\tUsing the first device section listed.\n", screenp->id); } -@@ -2374,6 +2389,7 @@ +@@ -2378,6 +2393,7 @@ xf86HandleConfigFile(Bool autoconfig) char *scanptr; Bool singlecard = 0; Bool implicit_layout = FALSE; @@ -95,7 +93,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/common/xf86Config.c if (!autoconfig) { char *filename, *dirname, *sysdirname; -@@ -2449,14 +2465,17 @@ +@@ -2453,14 +2469,17 @@ xf86HandleConfigFile(Bool autoconfig) */ /* First check if a layout section is present, and if it is valid. */ @@ -115,7 +113,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/common/xf86Config.c xf86configptr)) { xf86Msg(X_ERROR, "Unable to determine the screen layout\n"); return CONFIG_PARSE_ERROR; -@@ -2471,16 +2490,13 @@ +@@ -2475,16 +2494,13 @@ xf86HandleConfigFile(Bool autoconfig) if (optlist && xf86FindOption(optlist, "defaultserverlayout")) dfltlayout = xf86SetStrOption(optlist, "defaultserverlayout", NULL); @@ -134,11 +132,9 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/common/xf86Config.c xf86Msg(X_ERROR, "Unable to determine the screen layout\n"); return CONFIG_PARSE_ERROR; } -Index: xorg-server-trusty-matchseat/hw/xfree86/parser/Device.c -=================================================================== ---- xorg-server-trusty-matchseat.orig/hw/xfree86/parser/Device.c 2014-09-11 10:48:54.272129993 -0300 -+++ xorg-server-trusty-matchseat/hw/xfree86/parser/Device.c 2014-09-11 10:55:16.094992284 -0300 -@@ -72,6 +72,7 @@ +--- a/hw/xfree86/parser/Device.c ++++ b/hw/xfree86/parser/Device.c +@@ -72,6 +72,7 @@ xf86ConfigSymTabRec DeviceTab[] = { {RAMDAC, "ramdac"}, {DACSPEED, "dacspeed"}, {CLOCKS, "clocks"}, @@ -146,7 +142,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/parser/Device.c {OPTION, "option"}, {VIDEORAM, "videoram"}, {BIOSBASE, "biosbase"}, -@@ -217,6 +218,11 @@ +@@ -217,6 +218,11 @@ xf86parseDeviceSection(void) Error(NUMBER_MSG, "TextClockFreq"); ptr->dev_textclockfreq = (int) (val.realnum * 1000.0 + 0.5); break; @@ -158,11 +154,9 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/parser/Device.c case OPTION: ptr->dev_option_lst = xf86parseOption(ptr->dev_option_lst); break; -Index: xorg-server-trusty-matchseat/hw/xfree86/parser/Layout.c -=================================================================== ---- xorg-server-trusty-matchseat.orig/hw/xfree86/parser/Layout.c 2014-09-11 10:48:54.272129993 -0300 -+++ xorg-server-trusty-matchseat/hw/xfree86/parser/Layout.c 2014-09-11 10:55:16.094992284 -0300 -@@ -71,6 +71,7 @@ +--- a/hw/xfree86/parser/Layout.c ++++ b/hw/xfree86/parser/Layout.c +@@ -71,6 +71,7 @@ static xf86ConfigSymTabRec LayoutTab[] = {ENDSECTION, "endsection"}, {SCREEN, "screen"}, {IDENTIFIER, "identifier"}, @@ -170,7 +164,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/parser/Layout.c {INACTIVE, "inactive"}, {INPUTDEVICE, "inputdevice"}, {OPTION, "option"}, -@@ -110,6 +111,11 @@ +@@ -110,6 +111,11 @@ xf86parseLayoutSection(void) ptr->lay_identifier = val.str; has_ident = TRUE; break; @@ -182,11 +176,9 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/parser/Layout.c case INACTIVE: { XF86ConfInactivePtr iptr; -Index: xorg-server-trusty-matchseat/hw/xfree86/parser/Screen.c -=================================================================== ---- xorg-server-trusty-matchseat.orig/hw/xfree86/parser/Screen.c 2014-09-11 10:48:54.272129993 -0300 -+++ xorg-server-trusty-matchseat/hw/xfree86/parser/Screen.c 2014-09-11 10:55:16.094992284 -0300 -@@ -199,6 +199,7 @@ +--- a/hw/xfree86/parser/Screen.c ++++ b/hw/xfree86/parser/Screen.c +@@ -199,6 +199,7 @@ xf86parseDisplaySubSection(void) static xf86ConfigSymTabRec ScreenTab[] = { {ENDSECTION, "endsection"}, {IDENTIFIER, "identifier"}, @@ -194,7 +186,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/parser/Screen.c {OBSDRIVER, "driver"}, {MDEVICE, "device"}, {MONITOR, "monitor"}, -@@ -237,6 +238,11 @@ +@@ -237,6 +238,11 @@ xf86parseScreenSection(void) Error(ONLY_ONE_MSG, "Identifier or Driver"); has_ident = TRUE; break; @@ -206,11 +198,9 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/parser/Screen.c case OBSDRIVER: if (xf86getSubToken(&(ptr->scrn_comment)) != STRING) Error(QUOTE_MSG, "Driver"); -Index: xorg-server-trusty-matchseat/hw/xfree86/parser/xf86Parser.h -=================================================================== ---- xorg-server-trusty-matchseat.orig/hw/xfree86/parser/xf86Parser.h 2014-09-11 10:48:54.272129993 -0300 -+++ xorg-server-trusty-matchseat/hw/xfree86/parser/xf86Parser.h 2014-09-11 10:55:16.094992284 -0300 -@@ -224,6 +224,7 @@ +--- a/hw/xfree86/parser/xf86Parser.h ++++ b/hw/xfree86/parser/xf86Parser.h +@@ -224,6 +224,7 @@ typedef struct { int dev_screen; XF86OptionPtr dev_option_lst; char *dev_comment; @@ -218,7 +208,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/parser/xf86Parser.h } XF86ConfDeviceRec, *XF86ConfDevicePtr; typedef struct { -@@ -275,6 +276,7 @@ +@@ -275,6 +276,7 @@ typedef struct { XF86OptionPtr scrn_option_lst; char *scrn_comment; int scrn_virtualX, scrn_virtualY; @@ -226,7 +216,7 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/parser/xf86Parser.h } XF86ConfScreenRec, *XF86ConfScreenPtr; typedef struct { -@@ -366,6 +368,7 @@ +@@ -366,6 +368,7 @@ typedef struct { XF86ConfInactivePtr lay_inactive_lst; XF86ConfInputrefPtr lay_input_lst; XF86OptionPtr lay_option_lst; @@ -234,11 +224,9 @@ Index: xorg-server-trusty-matchseat/hw/xfree86/parser/xf86Parser.h char *lay_comment; } XF86ConfLayoutRec, *XF86ConfLayoutPtr; -Index: xorg-server-trusty-matchseat/hw/xfree86/parser/xf86tokens.h -=================================================================== ---- xorg-server-trusty-matchseat.orig/hw/xfree86/parser/xf86tokens.h 2014-09-11 10:48:54.272129993 -0300 -+++ xorg-server-trusty-matchseat/hw/xfree86/parser/xf86tokens.h 2014-09-11 10:55:16.094992284 -0300 -@@ -87,6 +87,7 @@ +--- a/hw/xfree86/parser/xf86tokens.h ++++ b/hw/xfree86/parser/xf86tokens.h +@@ -87,6 +87,7 @@ typedef enum { VENDOR, DASH, COMMA, diff --git a/debian/patches/xfree86_allow_fallback_to_pci_bus_probe_for_non_seat0.patch b/debian/patches/xfree86_allow_fallback_to_pci_bus_probe_for_non_seat0.patch index 982d629..fecc812 100644 --- a/debian/patches/xfree86_allow_fallback_to_pci_bus_probe_for_non_seat0.patch +++ b/debian/patches/xfree86_allow_fallback_to_pci_bus_probe_for_non_seat0.patch @@ -25,11 +25,9 @@ Signed-off-by: Peter Hutterer hw/xfree86/common/xf86Bus.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c -index 507c57d..b3b3f8c 100644 --- a/hw/xfree86/common/xf86Bus.c +++ b/hw/xfree86/common/xf86Bus.c -@@ -81,7 +81,7 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only) +@@ -81,7 +81,7 @@ xf86CallDriverProbe(DriverPtr drv, Bool if (drv->platformProbe != NULL) { foundScreen = xf86platformProbeDev(drv); } @@ -47,6 +45,3 @@ index 507c57d..b3b3f8c 100644 return; #endif #ifdef XSERVER_LIBPCIACCESS --- -2.0.4 - diff --git a/debian/patches/xfree86_keep_non_seat0_from_touching_vts.patch b/debian/patches/xfree86_keep_non_seat0_from_touching_vts.patch index 4106a27..7631cb5 100644 --- a/debian/patches/xfree86_keep_non_seat0_from_touching_vts.patch +++ b/debian/patches/xfree86_keep_non_seat0_from_touching_vts.patch @@ -31,11 +31,9 @@ Reviewed-by: Hans de Goede hw/xfree86/common/xf86Init.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index 9c8a86a..952bf37 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c -@@ -544,7 +544,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) +@@ -575,7 +575,8 @@ InitOutput(ScreenInfo * pScreenInfo, int if (NEED_IO_ENABLED(flags)) want_hw_access = TRUE; @@ -43,8 +41,5 @@ index 9c8a86a..952bf37 100644 + /* Non-seat0 X servers should not open console */ + if (!(flags & HW_SKIP_CONSOLE) && !ServerIsNotSeat0()) xorgHWOpenConsole = TRUE; - } --- -2.0.4 - + i++; diff --git a/debian/patches/xi-dont-copy-too-much.patch b/debian/patches/xi-dont-copy-too-much.patch index 117f7f4..ef52900 100644 --- a/debian/patches/xi-dont-copy-too-much.patch +++ b/debian/patches/xi-dont-copy-too-much.patch @@ -14,8 +14,6 @@ Date: Tue Apr 29 16:52:01 2014 +1000 Signed-off-by: Peter Hutterer -diff --git a/Xi/exevents.c b/Xi/exevents.c -index 9c207eb..02530bd 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1469,7 +1469,7 @@ static void @@ -27,7 +25,7 @@ index 9c207eb..02530bd 100644 if (ti->num_listeners) { ClientPtr client; -@@ -1481,11 +1481,11 @@ DeliverEmulatedMotionEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, +@@ -1481,11 +1481,11 @@ DeliverEmulatedMotionEvent(DeviceIntPtr ti->listeners[0].type != LISTENER_POINTER_GRAB) return; @@ -43,7 +41,7 @@ index 9c207eb..02530bd 100644 &ti->listeners[0], &client, &win, &grab, &mask)) return; -@@ -1500,18 +1500,18 @@ DeliverEmulatedMotionEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, +@@ -1500,18 +1500,18 @@ DeliverEmulatedMotionEvent(DeviceIntPtr } } diff --git a/debian/patches/xi2-resize-touch.patch b/debian/patches/xi2-resize-touch.patch index 021dd59..147a244 100644 --- a/debian/patches/xi2-resize-touch.patch +++ b/debian/patches/xi2-resize-touch.patch @@ -1,8 +1,6 @@ -diff --git a/dix/touch.c b/dix/touch.c -index a7ea213..1478e38 100644 --- a/dix/touch.c +++ b/dix/touch.c -@@ -460,12 +460,26 @@ TouchEventHistoryPush(TouchPointInfoPtr ti, const DeviceEvent *ev) +@@ -460,12 +460,26 @@ TouchEventHistoryPush(TouchPointInfoPtr if (ev->flags & (TOUCH_CLIENT_ID | TOUCH_REPLAYING)) return; diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch index c649889..86248f9 100644 --- a/debian/patches/xmir.patch +++ b/debian/patches/xmir.patch @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -631,6 +631,7 @@ +@@ -632,6 +632,7 @@ AC_ARG_ENABLE(windowswm, AS_HELP_ST AC_ARG_ENABLE(libdrm, AS_HELP_STRING([--enable-libdrm], [Build Xorg with libdrm support (default: enabled)]), [DRM=$enableval],[DRM=yes]) AC_ARG_ENABLE(clientids, AS_HELP_STRING([--disable-clientids], [Build Xorg with client ID tracking (default: enabled)]), [CLIENTIDS=$enableval], [CLIENTIDS=yes]) AC_ARG_ENABLE(pciaccess, AS_HELP_STRING([--enable-pciaccess], [Build Xorg with pciaccess library (default: enabled)]), [PCI=$enableval], [PCI=yes]) @@ -8,7 +8,7 @@ AC_ARG_ENABLE(linux_acpi, AC_HELP_STRING([--disable-linux-acpi], [Disable building ACPI support on Linux (if available).]), [enable_linux_acpi=$enableval], [enable_linux_acpi=yes]) AC_ARG_ENABLE(linux_apm, AC_HELP_STRING([--disable-linux-apm], [Disable building APM support on Linux (if available).]), [enable_linux_apm=$enableval], [enable_linux_apm=yes]) -@@ -1275,6 +1276,15 @@ +@@ -1334,6 +1335,15 @@ if test "x$XINERAMA" = xyes; then SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO" fi @@ -24,7 +24,7 @@ AM_CONDITIONAL(XACE, [test "x$XACE" = xyes]) if test "x$XACE" = xyes; then AC_DEFINE(XACE, 1, [Build X-ACE extension]) -@@ -2439,6 +2449,7 @@ +@@ -2510,6 +2520,7 @@ hw/xfree86/utils/Makefile hw/xfree86/utils/man/Makefile hw/xfree86/utils/cvt/Makefile hw/xfree86/utils/gtf/Makefile @@ -34,7 +34,7 @@ hw/dmx/doc/Makefile --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am -@@ -30,15 +30,20 @@ +@@ -30,15 +30,20 @@ if INT10MODULE INT10_SUBDIR = int10 endif @@ -59,7 +59,7 @@ nodist_Xorg_SOURCES = sdksyms.c --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c -@@ -118,6 +118,7 @@ +@@ -118,6 +118,7 @@ static ModuleDefault ModuleDefaults[] = {.name = "fb",.toLoad = TRUE,.load_opt = NULL}, {.name = "shadow",.toLoad = TRUE,.load_opt = NULL}, #endif @@ -67,7 +67,7 @@ {.name = NULL,.toLoad = FALSE,.load_opt = NULL} }; -@@ -260,6 +261,17 @@ +@@ -260,6 +261,17 @@ xf86ModulelistFromConfig(pointer **optli return NULL; } @@ -87,7 +87,7 @@ * not be loaded --- a/hw/xfree86/common/xf86Events.c +++ b/hw/xfree86/common/xf86Events.c -@@ -105,8 +105,6 @@ +@@ -105,8 +105,6 @@ extern fd_set EnabledDevices; extern void (*xf86OSPMClose) (void); #endif @@ -96,7 +96,7 @@ /* * Allow arbitrary drivers or other XFree86 code to register with our main * Wakeup handler. -@@ -411,7 +409,7 @@ +@@ -411,7 +409,7 @@ xf86ReleaseKeys(DeviceIntPtr pDev) * xf86VTSwitch -- * Handle requests for switching the vt. */ @@ -105,7 +105,7 @@ xf86VTSwitch(void) { int i; -@@ -471,7 +469,7 @@ +@@ -471,7 +469,7 @@ xf86VTSwitch(void) xf86AccessLeave(); /* We need this here, otherwise */ @@ -114,7 +114,7 @@ /* * switch failed */ -@@ -530,7 +528,7 @@ +@@ -530,7 +528,7 @@ xf86VTSwitch(void) } else { DebugF("xf86VTSwitch: Entering\n"); @@ -125,7 +125,7 @@ #ifdef XF86PM --- a/hw/xfree86/common/xf86Globals.c +++ b/hw/xfree86/common/xf86Globals.c -@@ -206,3 +206,6 @@ +@@ -207,3 +207,6 @@ Bool xf86VidModeAllowNonLocal = FALSE; #endif RootWinPropPtr *xf86RegisteredPropertiesTable = NULL; Bool xorgHWAccess = FALSE; @@ -134,7 +134,7 @@ +const char *mirSocket = NULL; --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c -@@ -100,7 +100,14 @@ +@@ -100,7 +100,14 @@ xf86DeleteDriver(int drvIndex) if (xf86DriverList[drvIndex]->module) UnloadModule(xf86DriverList[drvIndex]->module); free(xf86DriverList[drvIndex]); @@ -152,7 +152,7 @@ --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c -@@ -554,7 +554,7 @@ +@@ -554,7 +554,7 @@ InitOutput(ScreenInfo * pScreenInfo, int * needed at this early stage. */ @@ -161,7 +161,7 @@ xorgHWFlags flags = HW_IO; if (xf86DriverList[i]->Identify != NULL) -@@ -565,11 +565,20 @@ +@@ -565,11 +565,20 @@ InitOutput(ScreenInfo * pScreenInfo, int GET_REQUIRED_HW_INTERFACES, &flags); @@ -182,7 +182,7 @@ } if (xorgHWOpenConsole) -@@ -662,9 +671,13 @@ +@@ -662,9 +671,13 @@ InitOutput(ScreenInfo * pScreenInfo, int } /* Remove (unload) drivers that are not required */ @@ -198,7 +198,7 @@ /* * At this stage we know how many screens there are. -@@ -1490,6 +1503,17 @@ +@@ -1490,6 +1503,17 @@ ddxProcessArgument(int argc, char **argv xf86Info.ShareVTs = TRUE; return 1; } @@ -216,7 +216,7 @@ /* OS-specific processing */ return xf86ProcessArgument(argc, argv, i); -@@ -1563,6 +1587,8 @@ +@@ -1563,6 +1587,8 @@ ddxUseMsg(void) ErrorF ("-novtswitch don't automatically switch VT at reset & exit\n"); ErrorF("-sharevts share VTs with another X server\n"); @@ -227,7 +227,7 @@ ErrorF("\n"); --- a/hw/xfree86/common/xf86Priv.h +++ b/hw/xfree86/common/xf86Priv.h -@@ -93,6 +93,9 @@ +@@ -93,6 +93,9 @@ extern _X_EXPORT Bool xf86AttemptedFallb extern _X_EXPORT const char *xf86VisualNames[]; extern _X_EXPORT int xf86Verbose; /* verbosity level */ extern _X_EXPORT int xf86LogVerbose; /* log file verbosity level */ @@ -237,7 +237,7 @@ extern _X_EXPORT RootWinPropPtr *xf86RegisteredPropertiesTable; -@@ -149,6 +152,9 @@ +@@ -149,6 +152,9 @@ xf86HandlePMEvents(int fd, pointer data) extern _X_EXPORT int (*xf86PMGetEventFromOs) (int fd, pmEvent * events, int num); extern _X_EXPORT pmWait (*xf86PMConfirmEventToOs) (int fd, pmEvent event); @@ -249,7 +249,7 @@ extern _X_EXPORT void --- a/hw/xfree86/ramdac/xf86Cursor.c +++ b/hw/xfree86/ramdac/xf86Cursor.c -@@ -58,7 +58,12 @@ +@@ -58,7 +58,12 @@ xf86InitCursor(ScreenPtr pScreen, xf86Cu xf86CursorScreenPtr ScreenPriv; miPointerScreenPtr PointPriv; @@ -265,7 +265,7 @@ if (!dixRegisterPrivateKey(&xf86CursorScreenKeyRec, PRIVATE_SCREEN, 0)) --- a/hw/xfree86/ramdac/xf86HWCurs.c +++ b/hw/xfree86/ramdac/xf86HWCurs.c -@@ -114,8 +114,6 @@ +@@ -114,8 +114,6 @@ xf86InitHardwareCursor(ScreenPtr pScreen infoPtr->RealizeCursor = RealizeCursorInterleave0; } @@ -1940,7 +1940,7 @@ +#endif /* _XMIR_H */ --- a/include/list.h +++ b/include/list.h -@@ -184,6 +184,14 @@ +@@ -184,6 +184,14 @@ __xorg_list_del(struct xorg_list *prev, prev->next = next; } @@ -1967,7 +1967,7 @@ #endif /* _XORG_SERVER_H_ */ --- a/test/Makefile.am +++ b/test/Makefile.am -@@ -6,6 +6,9 @@ +@@ -6,6 +6,9 @@ if XORG # For now, requires xf86 ddx, could be adjusted to use another SUBDIRS += xi2 noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch @@ -1977,7 +1977,7 @@ endif check_LTLIBRARIES = libxservertest.la -@@ -38,6 +41,8 @@ +@@ -38,6 +41,8 @@ touch_LDADD=$(TEST_LDADD) signal_logging_LDADD=$(TEST_LDADD) hashtabletest_LDADD=$(TEST_LDADD) $(top_srcdir)/Xext/hashtable.c os_LDADD=$(TEST_LDADD) diff --git a/debian/patches/xrandr-rroutputchanged-main.patch b/debian/patches/xrandr-rroutputchanged-main.patch index 0d8121e..86d2287 100644 --- a/debian/patches/xrandr-rroutputchanged-main.patch +++ b/debian/patches/xrandr-rroutputchanged-main.patch @@ -18,8 +18,6 @@ Signed-off-by: Alberto Milone randr/rroutput.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) -diff --git a/randr/rroutput.c b/randr/rroutput.c -index 2b0b82f..3cc9852 100644 --- a/randr/rroutput.c +++ b/randr/rroutput.c @@ -31,15 +31,30 @@ RESTYPE RROutputType; @@ -58,6 +56,3 @@ index 2b0b82f..3cc9852 100644 } /* --- -1.7.9.5 - -- 2.34.1