qemu/0011-char-Disable-write-callback-if-throttled-chardev-is-.patch
Cole Robinson 96a5f8d770 Rebased to version 1.4.0
block: dataplane for virtio, potentially large performance improvment
migration: threaded live migration
usb-tablet: usb 2.0 support, significantly lowering CPU usage
usb: improved support for pass-through of USB serial devices
virtio-net: added support supports multiqueue operation
2013-02-19 20:14:18 -05:00

34 lines
1.1 KiB
Diff

From 6ad6a0becf4ef5934273175df5f8810d43266856 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Fri, 2 Dec 2011 15:42:55 +0530
Subject: [PATCH] char: Disable write callback if throttled chardev is detached
If a throttled chardev is detached from the frontend device, all future
callbacks should be suppressed. Not doing this results in a segfault.
Bugzilla: 745758
Upstream: Not applicable, since throttling is a RHEL6-only feature.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
qemu-char.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/qemu-char.c b/qemu-char.c
index 18e980d..04ae28c 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -223,6 +223,11 @@ void qemu_chr_add_handlers(CharDriverState *s,
++s->avail_connections;
}
if (!handlers) {
+ if (s->write_blocked) {
+ /* Ensure we disable the callback if we were throttled */
+ s->chr_disable_write_fd_handler(s);
+ /* s->write_blocked is cleared below */
+ }
handlers = &null_handlers;
}
s->chr_can_read = handlers->fd_can_read;