[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 30/51] qemu-char: make tcp_chr_disconnect() reentr
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL v2 30/51] qemu-char: make tcp_chr_disconnect() reentrant-safe |
Date: |
Tue, 15 Mar 2016 17:01:59 +0200 |
From: Marc-André Lureau <address@hidden>
During CHR_EVENT_CLOSED, the function could be reentered, make this
case safe.
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
qemu-char.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/qemu-char.c b/qemu-char.c
index 3813efd..27fbb44 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -2769,6 +2769,10 @@ static void tcp_chr_disconnect(CharDriverState *chr)
{
TCPCharDriver *s = chr->opaque;
+ if (!s->connected) {
+ return;
+ }
+
s->connected = 0;
if (s->listen_ioc) {
s->listen_tag = qio_channel_add_watch(
--
MST
- [Qemu-devel] [PULL v2 21/51] pci-ids: add virtio 1.0 ids to spec, (continued)
- [Qemu-devel] [PULL v2 21/51] pci-ids: add virtio 1.0 ids to spec, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 22/51] nvdimm acpi: initialize the resource used by NVDIMM ACPI, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 24/51] nvdimm acpi: let qemu handle _DSM method, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 23/51] nvdimm acpi: introduce patched dsm memory, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 26/51] vhost-user: fix use after free, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 25/51] nvdimm acpi: emulate dsm method, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 29/51] qemu-char: remove all msgfds on disconnect, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 28/51] qemu-char: avoid potential double-free, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 27/51] vhost-user: remove useless is_server field, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 32/51] pc: acpi: remove NOP assignment, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 30/51] qemu-char: make tcp_chr_disconnect() reentrant-safe,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL v2 31/51] pxb: cleanup, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 33/51] pc: init pcms->apic_id_limit once and use it throughout pc.c, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 35/51] pc: acpi: cleanup qdev_get_machine() calls, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 34/51] machine: introduce MachineClass.possible_cpu_arch_ids() hook, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 36/51] pc: acpi: SRAT: create only valid processor lapic entries, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 37/51] pc: acpi: create MADT.lapic entries only for valid lapics, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 38/51] pc: acpi: create Processor and Notify objects only for valid lapics, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 39/51] pc: acpi: drop cpu->found_cpus bitmap, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 41/51] MAINTAINERS: Add an entry for virtio header files, Michael S. Tsirkin, 2016/03/15
- [Qemu-devel] [PULL v2 40/51] pc: acpi: clarify why possible LAPIC entries must be present in MADT, Michael S. Tsirkin, 2016/03/15