Package: release.debian.org Severity: normal User: [email protected] Usertags: unblock
hi release team, please unblock package xserver-xorg-video-vmware. on request of jcristau I've NMUed xserver-xorg-video-vmware to fix #765490. The bug stopped people from being able to logout properly as x was stuck in an infinite loop. Also it is supposed to fix various resizing issues. While looking trough the upstream commits I also found a fix for an array out of bounds issue, which was spotted by coverity. I took the chance to fix this problem, too. All patches were taken from upstream http://cgit.freedesktop.org/xorg/driver/xf86-video-vmware/log/ commit ids are listed in the NMU diff, which is attached to this mail. Thanks, Bernd unblock xserver-xorg-video-vmware/13.0.2-3.1 -- Bernd Zeimetz Debian GNU/Linux Developer http://bzed.de http://www.debian.org GPG Fingerprint: ECA1 E3F2 8E11 2432 D485 DD95 EB36 171A 6FF9 435F
diff -u xserver-xorg-video-vmware-13.0.2/debian/changelog xserver-xorg-video-vmware-13.0.2/debian/changelog --- xserver-xorg-video-vmware-13.0.2/debian/changelog +++ xserver-xorg-video-vmware-13.0.2/debian/changelog @@ -1,3 +1,14 @@ +xserver-xorg-video-vmware (1:13.0.2-3.1) unstable; urgency=medium + + * Non-maintainer upload as requested by jcristau. + * Fixing resizing issues & xorg being stuck in a loop at logoff. + (Closes: #765490) + Patch 32562129750077a23f26f2e69adc8403eb24bf3f from upstream. + * Fixing an array out of bounds indexing, upstream + b1697434348799b0808a6c9e9a899394075b980c. + + -- Bernd Zeimetz <[email protected]> Sat, 14 Mar 2015 22:57:20 +0100 + xserver-xorg-video-vmware (1:13.0.2-3) unstable; urgency=medium * rules: avoid mixing implicit and normal rules; make 4 doesn't like that diff -u xserver-xorg-video-vmware-13.0.2/debian/patches/series xserver-xorg-video-vmware-13.0.2/debian/patches/series --- xserver-xorg-video-vmware-13.0.2/debian/patches/series +++ xserver-xorg-video-vmware-13.0.2/debian/patches/series @@ -1 +1,2 @@ -# placeholder +32562129750077a23f26f2e69adc8403eb24bf3f.patch +b1697434348799b0808a6c9e9a899394075b980c.patch only in patch2: unchanged: --- xserver-xorg-video-vmware-13.0.2.orig/debian/patches/32562129750077a23f26f2e69adc8403eb24bf3f.patch +++ xserver-xorg-video-vmware-13.0.2/debian/patches/32562129750077a23f26f2e69adc8403eb24bf3f.patch @@ -0,0 +1,29 @@ +From 32562129750077a23f26f2e69adc8403eb24bf3f Mon Sep 17 00:00:00 2001 +From: Thomas Hellstrom <[email protected]> +Date: Wed, 3 Sep 2014 07:08:41 -0700 +Subject: vmware/vmwgfx: Don't add pixmaps to the pixmap list if they're + already on it + +This could cause loops through the list to spin indefinitely. +This would most likely occur at VT switches. + +Signed-off-by: Thomas Hellstrom <[email protected]> +Reviewed-by: Jakob Bornecrantz <[email protected]> + +diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c +index b9204c6..bca3d93 100644 +--- a/vmwgfx/vmwgfx_saa.c ++++ b/vmwgfx/vmwgfx_saa.c +@@ -694,7 +694,8 @@ vmwgfx_modify_pixmap_header (PixmapPtr pixmap, int w, int h, int depth, + + vmwgfx_pix_resize(pixmap, old_pitch, old_height, old_width); + vmwgfx_pixmap_free_storage(vpix); +- WSBMLISTADDTAIL(&vpix->pixmap_list, &vsaa->pixmaps); ++ if (WSBMLISTEMPTY(&vpix->pixmap_list)) ++ WSBMLISTADDTAIL(&vpix->pixmap_list, &vsaa->pixmaps); + + return TRUE; + +-- +cgit v0.10.2 + only in patch2: unchanged: --- xserver-xorg-video-vmware-13.0.2.orig/debian/patches/b1697434348799b0808a6c9e9a899394075b980c.patch +++ xserver-xorg-video-vmware-13.0.2/debian/patches/b1697434348799b0808a6c9e9a899394075b980c.patch @@ -0,0 +1,27 @@ +From b1697434348799b0808a6c9e9a899394075b980c Mon Sep 17 00:00:00 2001 +From: Jakob Bornecrantz <[email protected]> +Date: Thu, 14 Aug 2014 16:42:05 +0200 +Subject: vmware/legacy: Fix out of bound array indexing + +Spotted by coverity. + +Reported-by: Adam Jackson <[email protected]> +Reviewed-by: Adam Jackson <[email protected]> +Signed-off-by: Jakob Bornecrantz <[email protected]> + +diff --git a/src/vmwarevideo.c b/src/vmwarevideo.c +index 261e579..816f1ca 100644 +--- a/src/vmwarevideo.c ++++ b/src/vmwarevideo.c +@@ -837,7 +837,7 @@ vmwareVideoPlay(ScrnInfoPtr pScrn, VMWAREVideoPtr pVid, + cmdSetRegs.body.streamId = pVid->streamId; + + items = cmdSetRegs.body.items; +- for (i = SVGA_VIDEO_ENABLED; i < SVGA_VIDEO_NUM_REGS; i++) { ++ for (i = SVGA_VIDEO_ENABLED; i < SVGA_VIDEO_DATA_GMRID; i++) { + items[i].regId = i; + } + +-- +cgit v0.10.2 +

