freeze exception for xorg-server
Hi,
I just uploaded xorg-server 2:1.4.2-9 to sid, with some fixes that
should get in lenny. The diff from -7 follows, please unblock after
review. :)
Cheers,
Julien
debian/changelog | 19 +++++++++
...nitialize-io.pi_sel.pc_domain-on-kfreebsd.patch | 32 ++++++++++++++++
debian/patches/54_more-sanity-checks.diff | 40 ++++++++++++++++++++
debian/patches/series | 2 +
hw/xfree86/common/xf86Helper.c | 5 --
hw/xfree86/common/xf86Xinput.c | 6 +-
6 files changed, 96 insertions(+), 8 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index cc60ed9..a316198 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,22 @@
+xorg-server (2:1.4.2-9) unstable; urgency=low
+
+ * Cherry-pick patches from upstream to make xf86ScaleAxis() work correctly.
+ * Steal patch from Fedora: more sanity checks to stop vmmouse from
+ segfaulting the server (closes: #503459).
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 13 Nov 2008 23:32:47 +0100
+
+xorg-server (2:1.4.2-8) unstable; urgency=low
+
+ * Add patch from Petr Salinger to fix PCI domain support on kfreebsd
+ (closes: #499501).
+ * xfree86: xf86SetDepthBpp needs to respect the driver's depth24flags.
+ Instead of forcing a 32bpp framebuffer, we pick a value that the driver
+ actually supports (closes: #504819, #486925); cherry-picked from upstream
+ git.
+
+ -- Julien Cristau <jcristau@debian.org> Tue, 11 Nov 2008 20:46:52 +0100
+
xorg-server (2:1.4.2-7) unstable; urgency=low
* Update debian/copyright to the SGI Free Software License B, version 2.0.
diff --git a/debian/patches/53_Properly-initialize-io.pi_sel.pc_domain-on-kfreebsd.patch b/debian/patches/53_Properly-initialize-io.pi_sel.pc_domain-on-kfreebsd.patch
new file mode 100644
index 0000000..acb6c6c
--- /dev/null
+++ b/debian/patches/53_Properly-initialize-io.pi_sel.pc_domain-on-kfreebsd.patch
@@ -0,0 +1,32 @@
+From 43b9645e4f5343757613c422c9e1204ba826d1f7 Mon Sep 17 00:00:00 2001
+From: Petr Salinger <Petr.Salinger@seznam.cz>
+Date: Mon, 6 Oct 2008 18:33:31 +0200
+Subject: [PATCH] Properly initialize io.pi_sel.pc_domain on kfreebsd
+
+---
+ hw/xfree86/os-support/bus/freebsdPci.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/hw/xfree86/os-support/bus/freebsdPci.c b/hw/xfree86/os-support/bus/freebsdPci.c
+index 63c00b2..b1f3dbd 100644
+--- a/hw/xfree86/os-support/bus/freebsdPci.c
++++ b/hw/xfree86/os-support/bus/freebsdPci.c
+@@ -133,6 +133,7 @@ freebsdPciCfgRead(PCITAG tag, int off)
+ {
+ struct pci_io io;
+ int error;
++ io.pi_sel.pc_domain = PCI_DOM_FROM_TAG(tag);
+ io.pi_sel.pc_bus = BUS(tag);
+ io.pi_sel.pc_dev = DFN(tag) >> 3;
+ io.pi_sel.pc_func = DFN(tag) & 7;
+@@ -148,6 +149,7 @@ static void
+ freebsdPciCfgWrite(PCITAG tag, int off, CARD32 val)
+ {
+ struct pci_io io;
++ io.pi_sel.pc_domain = PCI_DOM_FROM_TAG(tag);
+ io.pi_sel.pc_bus = BUS(tag);
+ io.pi_sel.pc_dev = DFN(tag) >> 3;
+ io.pi_sel.pc_func = DFN(tag) & 7;
+--
+1.5.6.5
+
diff --git a/debian/patches/54_more-sanity-checks.diff b/debian/patches/54_more-sanity-checks.diff
new file mode 100644
index 0000000..302b7d8
--- /dev/null
+++ b/debian/patches/54_more-sanity-checks.diff
@@ -0,0 +1,40 @@
+From 30c077f228f563e4e1f4115b345577d9fd393b68 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@redhat.com>
+Date: Fri, 24 Oct 2008 15:06:49 +1030
+Subject: [PATCH] dix: extra sanity-checks against potential NULL-dereferences. #434807
+
+Two minor code paths could potentially crash the server:
+- if scr is NULL, we shouldn't try to dereference it.
+- if GPE is called with buttons != 0 but the event is not a
+ ButtonPress or ButtonRelease, the button mapping may dereference a NULL
+ pointer.
+
+Admittedly the second should never happen, but better to guard against it.
+---
+ dix/getevents.c | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+Index: xorg-server/dix/getevents.c
+===================================================================
+--- xorg-server.orig/dix/getevents.c
++++ xorg-server/dix/getevents.c
+@@ -535,6 +535,9 @@
+ ScreenPtr scr = miPointerGetScreen(pDev);
+
+ /* Sanity checks. */
++ if (!scr)
++ return 0;
++
+ if (type != MotionNotify && type != ButtonPress && type != ButtonRelease)
+ return 0;
+
+@@ -546,6 +549,9 @@
+ if (!pDev->valuator)
+ return 0;
+
++ if (buttons && !pDev->button)
++ return 0;
++
+ if (!coreOnly && pDev->coreEvents)
+ num_events = 2;
+ else
diff --git a/debian/patches/series b/debian/patches/series
index 55ff4fa..25604c9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -26,6 +26,8 @@
50_Make-RandRQueryVersion-return-1.1-for-swapped-client.patch
51_xevie-length.diff
52_xevie-swap-replies.diff
+53_Properly-initialize-io.pi_sel.pc_domain-on-kfreebsd.patch
+54_more-sanity-checks.diff
91_ttf2pt1
91_ttf2pt1_updates
92_xprint-security-holes-fix.patch
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index 7adac73..b6e0787 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -466,10 +466,6 @@ xf86AddPixFormat(ScrnInfoPtr pScrn, int depth, int bpp, int pad)
#define GLOBAL_DEFAULT_DEPTH 24
#endif
-#ifndef GLOBAL_DEFAULT_FBBPP
-#define GLOBAL_DEFAULT_FBBPP 32
-#endif
-
_X_EXPORT Bool
xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int dummy, int fbbpp,
int depth24flags)
@@ -547,7 +543,6 @@ xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int dummy, int fbbpp,
if (depth > 0)
scrp->depth = depth;
} else {
- scrp->bitsPerPixel = GLOBAL_DEFAULT_FBBPP;
scrp->depth = GLOBAL_DEFAULT_DEPTH;
}
}
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index ca2be5c..d8b05ab 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -737,10 +737,10 @@ xf86ScaleAxis(int Cx,
ErrorF ("Divide by Zero in xf86ScaleAxis");
}
- if (X > Sxlow)
- X = Sxlow;
- if (X < Sxhigh)
+ if (X > Sxhigh)
X = Sxhigh;
+ if (X < Sxlow)
+ X = Sxlow;
return (X);
}
Reply to: