From 44dfda2aa47051fdaf1c6378e72e3f439c873e9f Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 6 Apr 2009 00:53:12 +0000 Subject: [PATCH] - evdev-2.2.1-read-deadlock.patch: handle read errors on len <= 0 (#494245) --- evdev-2.2.1-read-deadlock.patch | 29 +++++++++++++++++++++++++++++ xorg-x11-drv-evdev.spec | 8 +++++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 evdev-2.2.1-read-deadlock.patch diff --git a/evdev-2.2.1-read-deadlock.patch b/evdev-2.2.1-read-deadlock.patch new file mode 100644 index 0000000..9af7327 --- /dev/null +++ b/evdev-2.2.1-read-deadlock.patch @@ -0,0 +1,29 @@ +From 98ecb5233bb3b899bd696a90d2733c6a345676dd Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Mon, 6 Apr 2009 10:22:25 +1000 +Subject: [PATCH] Trigger read error handling if len is <= 0. + +Red Hat Bug 494245 + +Reported-by: David Woodhouse +Signed-off-by: Peter Hutterer +--- + src/evdev.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/evdev.c b/src/evdev.c +index f65359f..43a90be 100644 +--- a/src/evdev.c ++++ b/src/evdev.c +@@ -565,7 +565,7 @@ EvdevReadInput(InputInfoPtr pInfo) + while (len == sizeof(ev)) + { + len = read(pInfo->fd, &ev, sizeof(ev)); +- if (len == 0) ++ if (len <= 0) + { + if (errno == ENODEV) /* May happen after resume */ + { +-- +1.6.0.6 + diff --git a/xorg-x11-drv-evdev.spec b/xorg-x11-drv-evdev.spec index 91a09bf..130911c 100644 --- a/xorg-x11-drv-evdev.spec +++ b/xorg-x11-drv-evdev.spec @@ -7,7 +7,7 @@ Summary: Xorg X11 evdev input driver Name: xorg-x11-drv-evdev Version: 2.2.1 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X Hardware Support @@ -17,6 +17,8 @@ Source0: ftp://ftp.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2 #Source0: %{tarball}-%{gitdate}.tar.bz2 #Source1: make-git-snapshot.sh +Patch1: evdev-2.2.1-read-deadlock.patch + ExcludeArch: s390 s390x BuildRequires: autoconf automake libtool @@ -34,6 +36,7 @@ X.Org X11 evdev input driver. %setup -q -n %{tarball}-%{version} # apply patches +%patch1 -p1 -b .read-deadlock %build autoreconf -v --install || exit 1 @@ -72,6 +75,9 @@ X.Org X11 evdev input driver development files. %changelog +* Mon Apr 06 2009 Peter Hutterer 2.2.1-2 +- evdev-2.2.1-read-deadlock.patch: handle read errors on len <= 0 (#494245) + * Tue Mar 24 2009 Peter Hutterer 2.2.1-1 - evdev 2.2.1