ChangeLog | 781 ++++++++++ Xext/xcmisc.c | 1 Xext/xvdisp.c | 20 Xi/chgdctl.c | 8 Xi/chgfctl.c | 2 Xi/sendexev.c | 3 Xi/xiallowev.c | 2 Xi/xichangecursor.c | 2 Xi/xichangehierarchy.c | 35 Xi/xigetclientpointer.c | 1 Xi/xigrabdev.c | 9 Xi/xipassivegrab.c | 12 Xi/xiproperty.c | 14 Xi/xiquerydevice.c | 1 Xi/xiquerypointer.c | 2 Xi/xiselectev.c | 8 Xi/xisetclientpointer.c | 3 Xi/xisetdevfocus.c | 4 Xi/xiwarppointer.c | 2 configure.ac | 5 dbe/dbe.c | 17 debian/changelog | 32 debian/patches/06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff | 68 debian/patches/09_Xserver-man-iglx.diff | 16 debian/patches/series | 2 debian/patches/xmir.patch | 136 - dix/dispatch.c | 3 dix/region.c | 20 dri3/dri3_request.c | 6 fb/fbseg.c | 20 glx/clientinfo.c | 20 glx/glxcmds.c | 85 - glx/glxcmdsswap.c | 4 glx/glxserver.h | 43 glx/indirect_dispatch.c | 25 glx/indirect_dispatch_swap.c | 26 glx/indirect_program.c | 2 glx/indirect_reqsize.c | 142 - glx/indirect_reqsize.h | 181 +- glx/indirect_texture_compression.c | 4 glx/indirect_util.c | 9 glx/rensize.c | 114 - glx/single2.c | 23 glx/single2swap.c | 19 glx/singlepix.c | 60 glx/singlepixswap.c | 50 glx/swap_interval.c | 2 glx/unpack.h | 3 hw/xfree86/dri2/dri2ext.c | 3 include/dix.h | 7 include/regionstr.h | 10 man/Xserver.man | 10 os/access.c | 6 os/rpcauth.c | 4 present/present.c | 18 present/present_request.c | 6 randr/rrsdispatch.c | 4 render/render.c | 20 test/Makefile.am | 2 test/misc.c | 37 test/xi1/Makefile.am | 34 test/xi1/protocol-xchangedevicecontrol.c | 122 + test/xi2/protocol-xigetclientpointer.c | 5 test/xi2/protocol-xipassivegrabdevice.c | 8 test/xi2/protocol-xiquerypointer.c | 4 test/xi2/protocol-xiwarppointer.c | 3 xfixes/select.c | 1 67 files changed, 1857 insertions(+), 494 deletions(-)
New commits: commit 7e83b9b581d0b84479c1954f2defd380279d4d1f Author: Maarten Lankhorst <maarten.lankho...@ubuntu.com> Date: Sat Dec 13 14:18:05 2014 +0100 Fix FTBFS with the bool redefinition by undef'ing it after including mir. diff --git a/debian/changelog b/debian/changelog index 5287cff..908b4a9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xorg-server (2:1.16.2.901-1ubuntu2) vivid; urgency=medium + + * Fix FTBFS with the bool redefinition by undef'ing it after including mir. + + -- Maarten Lankhorst <maarten.lankho...@ubuntu.com> Sat, 13 Dec 2014 14:13:17 +0100 + xorg-server (2:1.16.2.901-1ubuntu1) vivid; urgency=medium * Merge from released debian-unstable. diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch index f60216f..23a620a 100644 --- a/debian/patches/xmir.patch +++ b/debian/patches/xmir.patch @@ -1,8 +1,6 @@ -diff --git a/configure.ac b/configure.ac -index e5387bf..ec171d9 100644 --- a/configure.ac +++ b/configure.ac -@@ -627,6 +627,7 @@ AC_ARG_ENABLE(linux_acpi, AS_HELP_STRING([--disable-linux-acpi], [Disable buildi +@@ -632,6 +632,7 @@ AC_ARG_ENABLE(linux_apm, AS_HELP_STRING([--disable-linux-apm], [Disable building APM support on Linux (if available).]), [enable_linux_apm=$enableval], [enable_linux_apm=yes]) AC_ARG_ENABLE(systemd-logind, AS_HELP_STRING([--enable-systemd-logind], [Build systemd-logind support (default: auto)]), [SYSTEMD_LOGIND=$enableval], [SYSTEMD_LOGIND=auto]) AC_ARG_ENABLE(suid-wrapper, AS_HELP_STRING([--enable-suid-wrapper], [Build suid-root wrapper for legacy driver support on rootless xserver systems (default: no)]), [SUID_WRAPPER=$enableval], [SUID_WRAPPER=no]) @@ -10,7 +8,7 @@ index e5387bf..ec171d9 100644 dnl DDXes. AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) -@@ -1348,6 +1349,15 @@ if test "x$XINERAMA" = xyes; then +@@ -1368,6 +1369,15 @@ SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO" fi @@ -20,13 +18,13 @@ index e5387bf..ec171d9 100644 + AC_SUBST([XMIR_CFLAGS]) + AC_DEFINE(XMIR, 1, [Support wayland mode]) + SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES mirclient" -+fi ++fi +AM_CONDITIONAL(XMIR, [test "x$XMIR" = xyes]) + AM_CONDITIONAL(XACE, [test "x$XACE" = xyes]) if test "x$XACE" = xyes; then AC_DEFINE(XACE, 1, [Build X-ACE extension]) -@@ -2573,6 +2583,7 @@ hw/xfree86/utils/Makefile +@@ -2598,6 +2608,7 @@ hw/xfree86/utils/man/Makefile hw/xfree86/utils/cvt/Makefile hw/xfree86/utils/gtf/Makefile @@ -34,11 +32,9 @@ index e5387bf..ec171d9 100644 hw/dmx/config/Makefile hw/dmx/config/man/Makefile hw/dmx/doc/Makefile -diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am -index c5992c3..c9a077f 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am -@@ -34,16 +34,20 @@ if INT10MODULE +@@ -34,16 +34,20 @@ INT10_SUBDIR = int10 endif @@ -61,11 +57,9 @@ index c5992c3..c9a077f 100644 bin_PROGRAMS = Xorg nodist_Xorg_SOURCES = sdksyms.c -diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c -index 2adef44..f8c3a7e 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c -@@ -118,6 +118,7 @@ static ModuleDefault ModuleDefaults[] = { +@@ -118,6 +118,7 @@ {.name = "fb",.toLoad = TRUE,.load_opt = NULL}, {.name = "shadow",.toLoad = TRUE,.load_opt = NULL}, #endif @@ -73,7 +67,7 @@ index 2adef44..f8c3a7e 100644 {.name = NULL,.toLoad = FALSE,.load_opt = NULL} }; -@@ -272,6 +273,17 @@ xf86ModulelistFromConfig(void ***optlist) +@@ -272,6 +273,17 @@ return NULL; } @@ -91,11 +85,9 @@ index 2adef44..f8c3a7e 100644 if (xf86configptr->conf_modules) { /* Walk the disable list and let people know what we've parsed to * not be loaded -diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c -index 35a673d..082e454 100644 --- a/hw/xfree86/common/xf86Events.c +++ b/hw/xfree86/common/xf86Events.c -@@ -614,6 +614,10 @@ xf86VTSwitch(void) +@@ -614,6 +614,10 @@ { DebugF("xf86VTSwitch()\n"); @@ -106,22 +98,18 @@ index 35a673d..082e454 100644 #ifdef XFreeXDGA if (!DGAVTSwitch()) return; -diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c -index 984c39b..9b23d9a 100644 --- a/hw/xfree86/common/xf86Globals.c +++ b/hw/xfree86/common/xf86Globals.c -@@ -204,3 +204,6 @@ Bool xf86VidModeAllowNonLocal = FALSE; +@@ -207,3 +207,6 @@ #endif RootWinPropPtr *xf86RegisteredPropertiesTable = NULL; Bool xorgHWAccess = FALSE; +Bool xorgMir = FALSE; +const char *mirID = NULL; +const char *mirSocket = NULL; -diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c -index e2b32a0..d942ffd 100644 --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c -@@ -100,7 +100,14 @@ xf86DeleteDriver(int drvIndex) +@@ -100,7 +100,14 @@ if (xf86DriverList[drvIndex]->module) UnloadModule(xf86DriverList[drvIndex]->module); free(xf86DriverList[drvIndex]); @@ -137,11 +125,9 @@ index e2b32a0..d942ffd 100644 } } -diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index 5a45004..931381d 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c -@@ -540,7 +540,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) +@@ -564,7 +564,7 @@ * needed at this early stage. */ @@ -150,13 +136,13 @@ index 5a45004..931381d 100644 xorgHWFlags flags = HW_IO; if (xf86DriverList[i]->Identify != NULL) -@@ -551,12 +551,22 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) +@@ -575,12 +575,22 @@ GET_REQUIRED_HW_INTERFACES, &flags); + if (xorgMir && + (NEED_IO_ENABLED(flags) || !(flags & HW_SKIP_CONSOLE))) { -+ ++ + ErrorF("Driver needs flags %lu, incompatible with nested, deleting.\n", flags); + xf86DeleteDriver(i); + continue; @@ -173,7 +159,7 @@ index 5a45004..931381d 100644 } if (xorgHWOpenConsole) -@@ -644,9 +654,13 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) +@@ -675,9 +685,13 @@ } /* Remove (unload) drivers that are not required */ @@ -189,7 +175,7 @@ index 5a45004..931381d 100644 /* * At this stage we know how many screens there are. -@@ -1479,6 +1493,17 @@ ddxProcessArgument(int argc, char **argv, int i) +@@ -1515,6 +1529,17 @@ xf86Info.ShareVTs = TRUE; return 1; } @@ -207,7 +193,7 @@ index 5a45004..931381d 100644 /* OS-specific processing */ return xf86ProcessArgument(argc, argv, i); -@@ -1552,6 +1577,8 @@ ddxUseMsg(void) +@@ -1588,6 +1613,8 @@ ErrorF ("-novtswitch don't automatically switch VT at reset & exit\n"); ErrorF("-sharevts share VTs with another X server\n"); @@ -216,11 +202,9 @@ index 5a45004..931381d 100644 /* OS-specific usage */ xf86UseMsg(); ErrorF("\n"); -diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h -index 6e374eb..226ae5d 100644 --- a/hw/xfree86/common/xf86Priv.h +++ b/hw/xfree86/common/xf86Priv.h -@@ -91,6 +91,11 @@ extern _X_EXPORT int xf86NumScreens; +@@ -93,6 +93,11 @@ extern _X_EXPORT const char *xf86VisualNames[]; extern _X_EXPORT int xf86Verbose; /* verbosity level */ extern _X_EXPORT int xf86LogVerbose; /* log file verbosity level */ @@ -232,7 +216,7 @@ index 6e374eb..226ae5d 100644 extern _X_EXPORT RootWinPropPtr *xf86RegisteredPropertiesTable; -@@ -148,6 +153,7 @@ extern _X_EXPORT int (*xf86PMGetEventFromOs) (int fd, pmEvent * events, +@@ -150,6 +155,7 @@ int num); extern _X_EXPORT pmWait (*xf86PMConfirmEventToOs) (int fd, pmEvent event); @@ -240,17 +224,15 @@ index 6e374eb..226ae5d 100644 /* xf86Helper.c */ extern _X_EXPORT void xf86LogInit(void); -diff --git a/hw/xfree86/ramdac/xf86Cursor.c b/hw/xfree86/ramdac/xf86Cursor.c -index fac6822..7becd5f 100644 --- a/hw/xfree86/ramdac/xf86Cursor.c +++ b/hw/xfree86/ramdac/xf86Cursor.c -@@ -58,7 +58,12 @@ xf86InitCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr) +@@ -58,7 +58,12 @@ xf86CursorScreenPtr ScreenPriv; miPointerScreenPtr PointPriv; - if (!xf86InitHardwareCursor(pScreen, infoPtr)) + infoPtr->pScrn = xf86ScreenToScrn(pScreen); -+ ++ + /* If we can't create a hardware cursor don't bother initialising HW cursor support */ + if (infoPtr->MaxWidth != 0 && + infoPtr->MaxHeight != 0 && @@ -258,11 +240,9 @@ index fac6822..7becd5f 100644 return FALSE; if (!dixRegisterPrivateKey(&xf86CursorScreenKeyRec, PRIVATE_SCREEN, 0)) -diff --git a/hw/xfree86/ramdac/xf86HWCurs.c b/hw/xfree86/ramdac/xf86HWCurs.c -index 953c86a..d8994be 100644 --- a/hw/xfree86/ramdac/xf86HWCurs.c +++ b/hw/xfree86/ramdac/xf86HWCurs.c -@@ -114,8 +114,6 @@ xf86InitHardwareCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr) +@@ -114,8 +114,6 @@ infoPtr->RealizeCursor = RealizeCursorInterleave0; } @@ -271,9 +251,6 @@ index 953c86a..d8994be 100644 return TRUE; } -diff --git a/hw/xfree86/xmir/#xmir.h# b/hw/xfree86/xmir/#xmir.h# -new file mode 100644 -index 0000000..1ca78b1 --- /dev/null +++ b/hw/xfree86/xmir/#xmir.h# @@ -0,0 +1,14 @@ @@ -283,7 +260,7 @@ index 0000000..1ca78b1 + uint32_t stride; +} MirBufferInfo; + -+typedef void (*XMirBufferReceivedProcPtr)(WindowPtr window, ++typedef void (*XMirBufferReceivedProcPtr)(WindowPtr window, + MirBufferInfo *info); + +typedef struct xmir_screen { @@ -291,9 +268,6 @@ index 0000000..1ca78b1 + MirSurface *root_surf; + RealizeWindowProcPtr RealizeWindow; +} xmir_screen; -diff --git a/hw/xfree86/xmir/Makefile.am b/hw/xfree86/xmir/Makefile.am -new file mode 100644 -index 0000000..80715f8 --- /dev/null +++ b/hw/xfree86/xmir/Makefile.am @@ -0,0 +1,26 @@ @@ -323,9 +297,6 @@ index 0000000..80715f8 + xmir-private.h + +sdk_HEADERS = xmir.h -diff --git a/hw/xfree86/xmir/xmir-output.c b/hw/xfree86/xmir/xmir-output.c -new file mode 100644 -index 0000000..6cfb9da --- /dev/null +++ b/hw/xfree86/xmir/xmir-output.c @@ -0,0 +1,678 @@ @@ -654,7 +625,7 @@ index 0000000..6cfb9da + const char *error_msg; + + if (mode->HDisplay == 0 || mode->VDisplay == 0) -+ return FALSE; ++ return FALSE; + + xf86Msg(X_INFO, "Initial configuration for crtc %p:\n", crtc); + xmir_dump_config(xmir_crtc->config); @@ -820,7 +791,7 @@ index 0000000..6cfb9da +static void +xmir_output_destroy(xf86OutputPtr xf86output) +{ -+ /* The MirDisplayOutput* in driver_private gets cleaned up by ++ /* The MirDisplayOutput* in driver_private gets cleaned up by + mir_display_config_destroy() */ +} + @@ -917,7 +888,7 @@ index 0000000..6cfb9da + xmir_update_config(crtc_config); + + /* Trigger RANDR refresh */ -+ RRGetInfo(xf86ScrnToScreen(scrn), TRUE); ++ RRGetInfo(xf86ScrnToScreen(scrn), TRUE); +} + +static void @@ -1004,12 +975,9 @@ index 0000000..6cfb9da + + /* TODO: Use initial Mir state rather than setting up our own */ + xf86InitialConfiguration(scrn, TRUE); -+ ++ + return TRUE; +} -diff --git a/hw/xfree86/xmir/xmir-private.h b/hw/xfree86/xmir/xmir-private.h -new file mode 100644 -index 0000000..15d89f0 --- /dev/null +++ b/hw/xfree86/xmir/xmir-private.h @@ -0,0 +1,106 @@ @@ -1119,9 +1087,6 @@ index 0000000..15d89f0 +xmir_process_from_eventloop(void); + + #endif /* _MIR_PRIVATE_H */ -diff --git a/hw/xfree86/xmir/xmir-thread-proxy.c b/hw/xfree86/xmir/xmir-thread-proxy.c -new file mode 100644 -index 0000000..2e60aec --- /dev/null +++ b/hw/xfree86/xmir/xmir-thread-proxy.c @@ -0,0 +1,124 @@ @@ -1218,7 +1183,7 @@ index 0000000..2e60aec +} + +void -+xmir_post_to_eventloop(xmir_marshall_handler *handler, void *msg) ++xmir_post_to_eventloop(xmir_marshall_handler *handler, void *msg) +{ + ssize_t written; + const int total_size = sizeof *handler + handler->msg_size; @@ -1249,9 +1214,6 @@ index 0000000..2e60aec + } +} + -diff --git a/hw/xfree86/xmir/xmir-window.c b/hw/xfree86/xmir/xmir-window.c -new file mode 100644 -index 0000000..18a19bf --- /dev/null +++ b/hw/xfree86/xmir/xmir-window.c @@ -0,0 +1,343 @@ @@ -1590,7 +1552,7 @@ index 0000000..18a19bf + xmir->DestroyWindow = screen->DestroyWindow; + screen->DestroyWindow = xmir_destroy_window; + -+ xmir->submit_rendering_handler = ++ xmir->submit_rendering_handler = + xmir_register_handler(&xmir_handle_buffer_available, + sizeof (xmir_window *)); + if (xmir->submit_rendering_handler == NULL) @@ -1598,9 +1560,6 @@ index 0000000..18a19bf + + return TRUE; +} -diff --git a/hw/xfree86/xmir/xmir.c b/hw/xfree86/xmir/xmir.c -new file mode 100644 -index 0000000..ceb81e1 --- /dev/null +++ b/hw/xfree86/xmir/xmir.c @@ -0,0 +1,263 @@ @@ -1655,7 +1614,7 @@ index 0000000..ceb81e1 +#include <mir_toolkit/mir_client_library_drm.h> + +static DevPrivateKeyRec xmir_screen_private_key; -+/* ++/* + * We have only a single Mir connection, regardless of how many + * drivers load. + */ @@ -1781,7 +1740,7 @@ index 0000000..ceb81e1 + xf86Msg(X_WARNING, "xf86Cursor initialisation failed\n"); + + /* Hook up focus -> VT switch proxy */ -+ xmir->focus_event_handler = ++ xmir->focus_event_handler = + xmir_register_handler(&xmir_handle_focus_event, + sizeof(Bool)); + if (xmir->focus_event_handler == NULL) @@ -1803,7 +1762,7 @@ index 0000000..ceb81e1 +_X_EXPORT void +xmir_screen_destroy(xmir_screen *xmir) +{ -+ ++ +} + +_X_EXPORT void @@ -1839,7 +1798,7 @@ index 0000000..ceb81e1 +xMirSetup(void* module, void* opts, int *errmaj, int *errmin) +{ + static Bool setupDone = FALSE; -+ ++ + if (setupDone) { + if (errmaj) + *errmaj = LDR_ONCEONLY; @@ -1856,7 +1815,7 @@ index 0000000..ceb81e1 + return NULL; + } + -+ xmir_init_thread_to_eventloop(); ++ xmir_init_thread_to_eventloop(); + + setupDone = TRUE; + @@ -1867,12 +1826,9 @@ index 0000000..ceb81e1 +xMirTeardown(void* module) +{ +} -diff --git a/hw/xfree86/xmir/xmir.h b/hw/xfree86/xmir/xmir.h -new file mode 100644 -index 0000000..78396a3 --- /dev/null +++ b/hw/xfree86/xmir/xmir.h -@@ -0,0 +1,103 @@ +@@ -0,0 +1,106 @@ +/* + * Copyright © 2012 Canonical, Inc + * @@ -1911,6 +1867,9 @@ index 0000000..78396a3 +#include <stdint.h> +#include <mir_toolkit/mir_client_library.h> + ++/* Fix because the library defines one of its members as having the name bool */ ++#undef bool ++ +#include "xf86str.h" +#include "scrnintstr.h" +#include "window.h" @@ -1943,7 +1902,7 @@ index 0000000..78396a3 + +_X_EXPORT void +xmir_screen_close(ScreenPtr screen, xmir_screen *xmir); -+ ++ +_X_EXPORT void +xmir_screen_destroy(xmir_screen *xmir); + @@ -1976,11 +1935,9 @@ index 0000000..78396a3 +xmir_screen_for_each_damaged_window(xmir_screen *xmir, xmir_window_proc callback); + +#endif /* _XMIR_H */ -diff --git a/include/list.h b/include/list.h -index 455c670..c5f8d11 100644 --- a/include/list.h +++ b/include/list.h -@@ -184,6 +184,14 @@ __xorg_list_del(struct xorg_list *prev, struct xorg_list *next) +@@ -184,6 +184,14 @@ prev->next = next; } @@ -1995,8 +1952,6 @@ index 455c670..c5f8d11 100644 /** * Remove the element from the list it is in. Using this function will reset * the pointers to/from this element so it is removed from the list. It does -diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in -index 8bf9d38..9bcfe7c 100644 --- a/include/xorg-server.h.in +++ b/include/xorg-server.h.in @@ -227,4 +227,7 @@ @@ -2007,13 +1962,11 @@ index 8bf9d38..9bcfe7c 100644 +#undef XMIR + #endif /* _XORG_SERVER_H_ */ -diff --git a/test/Makefile.am b/test/Makefile.am -index 32edc7a..39c86ca 100644 --- a/test/Makefile.am +++ b/test/Makefile.am -@@ -6,7 +6,12 @@ if XORG +@@ -6,7 +6,12 @@ # For now, requires xf86 ddx, could be adjusted to use another - SUBDIRS += xi2 + SUBDIRS += xi1 xi2 noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch -endif + @@ -2025,7 +1978,7 @@ index 32edc7a..39c86ca 100644 check_LTLIBRARIES = libxservertest.la TESTS=$(noinst_PROGRAMS) -@@ -37,6 +42,8 @@ touch_LDADD=$(TEST_LDADD) +@@ -37,6 +42,8 @@ signal_logging_LDADD=$(TEST_LDADD) hashtabletest_LDADD=$(TEST_LDADD) os_LDADD=$(TEST_LDADD) @@ -2034,9 +1987,6 @@ index 32edc7a..39c86ca 100644 libxservertest_la_LIBADD = $(XSERVER_LIBS) if XORG -diff --git a/test/xmir-thread-proxy.c b/test/xmir-thread-proxy.c -new file mode 100644 -index 0000000..7cf19cf --- /dev/null +++ b/test/xmir-thread-proxy.c @@ -0,0 +1,154 @@ @@ -2176,7 +2126,7 @@ index 0000000..7cf19cf + + xmir_process_from_eventloop(); + -+ assert(check == NUM_THREADS); ++ assert(check == NUM_THREADS); +} + +static void commit 495f55531e5ef4bd93a46436b55a0845f11364b2 Author: Maarten Lankhorst <maarten.lankho...@ubuntu.com> Date: Thu Dec 11 16:17:27 2014 +0100 release to vivid diff --git a/debian/changelog b/debian/changelog index 1340401..5287cff 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,8 @@ -xorg-server (2:1.16.2.901-1ubuntu1) UNRELEASED; urgency=medium +xorg-server (2:1.16.2.901-1ubuntu1) vivid; urgency=medium * Merge from released debian-unstable. - -- Maarten Lankhorst <maarten.lankho...@ubuntu.com> Thu, 11 Dec 2014 16:15:36 +0100 + -- Maarten Lankhorst <maarten.lankho...@ubuntu.com> Thu, 11 Dec 2014 16:17:07 +0100 xorg-server (2:1.16.2.901-1) unstable; urgency=medium commit 188080cb3e175e798afd9d70055e0f70cf29360f Author: Maarten Lankhorst <maarten.lankho...@ubuntu.com> Date: Thu Dec 11 16:17:05 2014 +0100 Merge from released debian-unstable. diff --git a/debian/changelog b/debian/changelog index d7e4d3b..1340401 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xorg-server (2:1.16.2.901-1ubuntu1) UNRELEASED; urgency=medium + + * Merge from released debian-unstable. + + -- Maarten Lankhorst <maarten.lankho...@ubuntu.com> Thu, 11 Dec 2014 16:15:36 +0100 + xorg-server (2:1.16.2.901-1) unstable; urgency=medium * New upstream release commit 113fefcb3e81629291dd9cbfa14613908f967326 Author: Julien Cristau <jcris...@debian.org> Date: Tue Dec 9 22:25:56 2014 +0100 Upload to unstable diff --git a/debian/changelog b/debian/changelog index 03e9c0c..392dd42 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xorg-server (2:1.16.2.901-1) UNRELEASED; urgency=medium +xorg-server (2:1.16.2.901-1) unstable; urgency=medium * New upstream release + fb: Fix Bresenham algorithms for commonly used small segments @@ -16,7 +16,7 @@ xorg-server (2:1.16.2.901-1) UNRELEASED; urgency=medium * 09_Xserver-man-iglx.diff: adjust Xserver man page, we disable indirect glx contexts by default. - -- Julien Cristau <jcris...@debian.org> Tue, 09 Dec 2014 21:39:42 +0100 + -- Julien Cristau <jcris...@debian.org> Tue, 09 Dec 2014 22:04:20 +0100 xorg-server (2:1.16.1.901-1) unstable; urgency=medium commit eafda1e17bd997eaa2c4b636c990ba57830bae3a Author: Julien Cristau <jcris...@debian.org> Date: Tue Dec 9 22:03:52 2014 +0100 Merge 1.16.2.901 Drop obsolete patch, adjust Xserver.man for -iglx default. diff --git a/ChangeLog b/ChangeLog index cf9123f..04c9c9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,784 @@ +commit 9b037af0410bb1f63d370d8b8be06135de7af600 +Author: Julien Cristau <jcris...@debian.org> +Date: Tue Dec 9 20:55:02 2014 +0100 + + Bump to 1.16.2.901 + + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit f7ff55a374d91f8b513159809ed41c3e029a6074 +Author: Keith Packard <kei...@keithp.com> +Date: Tue Dec 9 09:31:00 2014 -0800 + + dix: GetHosts bounds check using wrong pointer value [CVE-2014-8092 pt. 6] + + GetHosts saves the pointer to allocated memory in *data, and then + wants to bounds-check writes to that region, but was mistakenly using + a bare 'data' instead of '*data'. Also, data is declared as void **, + so we need a cast to turn it into a byte pointer so we can actually do + pointer comparisons. + + Signed-off-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 1559a94395258fd73e369f1a2c98a44bfe21a486) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 8e7c4380a56ab05412f630e9b6e02580cb04a804 +Author: Keith Packard <kei...@keithp.com> +Date: Tue Dec 9 09:30:59 2014 -0800 + + Missing parens in REQUEST_FIXED_SIZE macro [CVE-2014-8092 pt. 5] + + The 'n' parameter must be surrounded by parens in both places to + prevent precedence from mis-computing things. + + Signed-off-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 9802a0162f738de03585ca3f3b8a8266494f7d45) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 1069ca99298bf1e85e001bfde90b00a42afdb5d8 +Author: Keith Packard <kei...@keithp.com> +Date: Tue Dec 9 09:30:58 2014 -0800 + + glx: Can't mix declarations and code in X.org sources [CVE-2014-8098 pt. 9] + + We're using compiler compatibility settings which generate warnings + when a variable is declared after the first statement. + + Signed-off-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 61b17c0f10307e25e51e30e6fb1d3e3127f82d86) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 044764b5c627d1a6e8ea1dd8cf741a26aeb4b2e7 +Author: Keith Packard <kei...@keithp.com> +Date: Tue Dec 9 09:30:57 2014 -0800 + + dbe: Call to DDX SwapBuffers requires address of int, not unsigned int [CVE-2014-8097 pt. 2] + + When the local types used to walk the DBE request were changed, this + changed the type of the parameter passed to the DDX SwapBuffers API, + but there wasn't a matching change in the API definition. + + At this point, with the API frozen, I just stuck a new variable in + with the correct type. Because we've already bounds-checked nStuff to + be smaller than UINT32_MAX / sizeof(DbeSwapInfoRec), we know it will + fit in a signed int without overflow. + + Signed-off-by: Keith Packard <kei...@keithp.com + Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit b20912c3d45cbbde3c443e6c3d9e189092fe65e1) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 73b1880eb37bd8ffbc3e36739e94f9b56b8323b9 +Author: Robert Morell <rmor...@nvidia.com> +Date: Wed Nov 12 18:51:43 2014 -0800 + + glx: Fix mask truncation in __glXGetAnswerBuffer [CVE-2014-8093 6/6] + + On a system where sizeof(unsigned) != sizeof(intptr_t), the unary + bitwise not operation will result in a mask that clears all high bits + from temp_buf in the expression: + temp_buf = (temp_buf + mask) & ~mask; + + Signed-off-by: Robert Morell <rmor...@nvidia.com> + Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 7e7630bbb775573eea2a2335adb9d190c3e1e971) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 912df16404b80ea143bd75cdacc0d0976bae4c96 +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:48 2014 -0500 + + glx: Pass remaining request length into ->varsize (v2) [CVE-2014-8098 8/8] + + v2: Handle more multiplies in indirect_reqsize.c (Julien Cristau) + + Reviewed-by: Julien Cristau <jcris...@debian.org> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit e883c170c15493ab3637c0a01890f5a7ca4e16a5) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 92de7a90a1f48b7fd37b8c78f6a2b8dfa13714a6 +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:47 2014 -0500 + + glx: Length checking for non-generated single requests (v2) [CVE-2014-8098 7/8] + + v2: + Fix single versus vendor-private length checking for ARB_imaging subset + extensions. (Julien Cristau) + + v3: + Fix single versus vendor-private length checking for ARB_imaging subset + extensions. (Julien Cristau) + + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Julien Cristau <jcris...@debian.org> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 984583a497c813df5827ae22483133e704fee79c) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 44ed4a6547136a0945cd85f93b83392cf53f58f2 +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:46 2014 -0500 + + glx: Length-checking for non-generated vendor private requests [CVE-2014-8098 6/8] + + Reviewed-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 44ba149f28ece93c2fbfc9cc980588de5322dd4b) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit fe9672204ad9edc09c4ae6ba1b9e9de09ec98287 +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:45 2014 -0500 + + glx: Request length checks for SetClientInfoARB [CVE-2014-8098 5/8] + + Reviewed-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Julien Cristau <jcris...@debian.org> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit afe177020d1fb776c6163f21eddc82cb185b95ca) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 525db4433b042ad5a116ca0366498f5bc36e1640 +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:44 2014 -0500 + + glx: Top-level length checking for swapped VendorPrivate requests [CVE-2014-8098 4/8] + + Reviewed-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Julien Cristau <jcris...@debian.org> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit c91e4abc3b892f42802efa20fef7ada442c2d3f5) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit cbf197e1c97ae0402abfc35514ef62120baee3a6 +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:43 2014 -0500 + + glx: Length checking for RenderLarge requests (v2) [CVE-2014-8098 3/8] + + This is a half-measure until we start passing request length into the + varsize function, but it's better than the nothing we had before. + + v2: Verify that there's at least a large render header's worth of + dataBytes (Julien Cristau) + + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit a33a939e6abb255b14d8dbc85fcbd2c55b958bae) + Signed-off-by: Julien Cristau <jcris...@debian.org> + + Conflicts: + glx/glxcmds.c + +commit 7590915c9d76ff7efdc6398a37351df9fab2ce7d +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:42 2014 -0500 + + glx: Integer overflow protection for non-generated render requests (v3) [CVE-2014-8093 5/6] + + v2: + Fix constants in __glXMap2fReqSize (Michal Srb) + Validate w/h/d for proxy targets too (Keith Packard) + + v3: + Fix Map[12]Size to correctly reject order == 0 (Julien Cristau) + + Reviewed-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 698888e6671d54c7ae41e9d456f7f5483a3459d2) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 20bc891f767a398bff3301369f8a78f9e65b7eda +Author: Julien Cristau <jcris...@debian.org> +Date: Mon Nov 10 12:13:41 2014 -0500 + + glx: Length checking for GLXRender requests (v2) [CVE-2014-8098 2/8] + + v2: + Remove can't-happen comparison for cmdlen < 0 (Michal Srb) + + Reviewed-by: Adam Jackson <a...@redhat.com> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Julien Cristau <jcris...@debian.org> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit be09e0c988ffdb0371293af49fb4ea8f49ed324a) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 233429c1d8c1183bead2d6f3726c92a7fc557ca9 +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:40 2014 -0500 + + glx: Add safe_{add,mul,pad} (v3) [CVE-2014-8093 4/6] + + These are paranoid about integer overflow, and will return -1 if their + operation would overflow a (signed) integer or if either argument is + negative. + + Note that RenderLarge requests are sized with a uint32_t so in principle + this could be sketchy there, but dix limits bigreqs to 128M so you + shouldn't ever notice, and honestly if you're sending more than 2G of + rendering commands you're already doing something very wrong. + + v2: Use INT_MAX for consistency with the rest of the server (jcristau) + v3: Reject negative arguments (anholt) + + Reviewed-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Julien Cristau <jcris...@debian.org> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 2a5cbc17fc72185bf0fa06fef26d1f782de72595) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit e7dc700de969242983ca0964e38e87a79675f7fa +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:39 2014 -0500 + + glx: Fix image size computation for EXT_texture_integer [CVE-2014-8098 1/8] + + Without this we'd reject the request with BadLength. Note that some old + versions of Mesa had a bug in the same place, and would _send_ zero + bytes of image data; these will now be rejected, correctly. + + Reviewed-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Julien Cristau <jcris...@debian.org> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 13d36923e0ddb077f4854e354c3d5c80590b5d9d) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 25e0fe2b59189be91a84626bc45278c7596ac438 +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:38 2014 -0500 + + glx: Additional paranoia in __glXGetAnswerBuffer / __GLX_GET_ANSWER_BUFFER (v2) [CVE-2014-8093 3/6] + + If the computed reply size is negative, something went wrong, treat it + as an error. + + v2: Be more careful about size_t being unsigned (Matthieu Herrb) + v3: SIZE_MAX not SIZE_T_MAX (Alan Coopersmith) + + Reviewed-by: Julien Cristau <jcris...@debian.org> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit 717a1b37767b41e14859e5022ae9e679152821a9) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit de17ad13eb38af4bd5c8f085200bdab88496062f +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:37 2014 -0500 + + glx: Be more strict about rejecting invalid image sizes [CVE-2014-8093 2/6] + + Before this we'd just clamp the image size to 0, which was just + hideously stupid; if the parameters were such that they'd overflow an + integer, you'd allocate a small buffer, then pass huge values into (say) + ReadPixels, and now you're scribbling over arbitrary server memory. + + Reviewed-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Julien Cristau <jcris...@debian.org> + Reviewed-by: Michal Srb <m...@suse.com> + Reviewed-by: Andy Ritger <arit...@nvidia.com> + Signed-off-by: Adam Jackson <a...@redhat.com> + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + (cherry picked from commit ab2ba9338aa5e85b4487bc7fbe69985c76483e01) + Signed-off-by: Julien Cristau <jcris...@debian.org> + +commit 1d496e046e398cd9d6d77edf8958967c86983bf0 +Author: Adam Jackson <a...@redhat.com> +Date: Mon Nov 10 12:13:36 2014 -0500 + + glx: Be more paranoid about variable-length requests [CVE-2014-8093 1/6] + + If the size computation routine returns -1 we should just reject the + request outright. Clamping it to zero could give an attacker the + opportunity to also mangle cmdlen in such a way that the subsequent + length check passes, and the request would get executed, thus passing -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1y0sgr-0003yh...@moszumanska.debian.org