Add patch fixing USB redirection related race/crash
parent
fd6b0a33fe
commit
dbf53beb39
|
@ -0,0 +1,31 @@
|
||||||
|
From e3932bfebbfec7637f3d03d90e8f9b75e3223236 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pavel Grunt <pgrunt@redhat.com>
|
||||||
|
Date: Wed, 11 Mar 2015 16:31:39 +0100
|
||||||
|
Subject: [spice-gtk] channel-usbredir: Do not stop event listening if
|
||||||
|
SpiceSession does not exist
|
||||||
|
|
||||||
|
Avoids Segfault when closing the connection just after the usb device redirection.
|
||||||
|
---
|
||||||
|
gtk/channel-usbredir.c | 9 ++++++---
|
||||||
|
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gtk/channel-usbredir.c b/gtk/channel-usbredir.c
|
||||||
|
index b1a91fb..d974434 100644
|
||||||
|
--- a/gtk/channel-usbredir.c
|
||||||
|
+++ b/gtk/channel-usbredir.c
|
||||||
|
@@ -419,9 +419,12 @@ void spice_usbredir_channel_disconnect_device(SpiceUsbredirChannel *channel)
|
||||||
|
* usbredirhost_set_device NULL will interrupt the
|
||||||
|
* libusb_handle_events call in the thread.
|
||||||
|
*/
|
||||||
|
- spice_usb_device_manager_stop_event_listening(
|
||||||
|
- spice_usb_device_manager_get(
|
||||||
|
- spice_channel_get_session(SPICE_CHANNEL(channel)), NULL));
|
||||||
|
+ {
|
||||||
|
+ SpiceSession *session = spice_channel_get_session(SPICE_CHANNEL(channel));
|
||||||
|
+ if (session != NULL)
|
||||||
|
+ spice_usb_device_manager_stop_event_listening(
|
||||||
|
+ spice_usb_device_manager_get(session, NULL));
|
||||||
|
+ }
|
||||||
|
/* This also closes the libusb handle we passed from open_device */
|
||||||
|
usbredirhost_set_device(priv->host, NULL);
|
||||||
|
libusb_unref_device(priv->device);
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
Name: spice-gtk
|
Name: spice-gtk
|
||||||
Version: 0.27
|
Version: 0.27
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
Summary: A GTK+ widget for SPICE clients
|
Summary: A GTK+ widget for SPICE clients
|
||||||
|
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
|
@ -25,6 +25,7 @@ Patch0007: 0007-usbredir-prevent-crash-when-calling-without-host.patch
|
||||||
Patch0008: 0008-channel-delay-event-report-to-after-coroutine-exit.patch
|
Patch0008: 0008-channel-delay-event-report-to-after-coroutine-exit.patch
|
||||||
Patch0009: 0009-channel-reset-tls-state-when-client-calls-connect.patch
|
Patch0009: 0009-channel-reset-tls-state-when-client-calls-connect.patch
|
||||||
Patch0010: 0010-channel-reset-connection-state-on-error.patch
|
Patch0010: 0010-channel-reset-connection-state-on-error.patch
|
||||||
|
Patch0011: 0011-channel-usbredir-Do-not-stop-event-listening-if-Spic.patch
|
||||||
|
|
||||||
BuildRequires: intltool
|
BuildRequires: intltool
|
||||||
BuildRequires: gtk2-devel >= 2.14
|
BuildRequires: gtk2-devel >= 2.14
|
||||||
|
@ -165,6 +166,7 @@ find . -name '*.stamp' | xargs touch
|
||||||
%patch0008 -p1
|
%patch0008 -p1
|
||||||
%patch0009 -p1
|
%patch0009 -p1
|
||||||
%patch0010 -p1
|
%patch0010 -p1
|
||||||
|
%patch0011 -p1
|
||||||
popd
|
popd
|
||||||
|
|
||||||
%if %{with_gtk3}
|
%if %{with_gtk3}
|
||||||
|
@ -286,6 +288,10 @@ rm -rf %{buildroot}%{_datadir}/pkgconfig/spice-protocol.pc
|
||||||
%{_bindir}/spicy-stats
|
%{_bindir}/spicy-stats
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Apr 02 2015 Christophe Fergeau <cfergeau@redhat.com> 0.27-6
|
||||||
|
- Add patch fixing USB redirection related race/crash
|
||||||
|
Resolves: rhbz#1182226
|
||||||
|
|
||||||
* Tue Jan 27 2015 Marc-André Lureau <marcandre.lureau@redhat.com> 0.27-5
|
* Tue Jan 27 2015 Marc-André Lureau <marcandre.lureau@redhat.com> 0.27-5
|
||||||
- Fix reconnection on same session regressions introduced in 27-2.
|
- Fix reconnection on same session regressions introduced in 27-2.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue