All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/2] virtio-scsi: fix hotplug ->reset() vs event race
@ 2018-07-16  8:37 Stefan Hajnoczi
  2018-07-16  8:37 ` [Qemu-devel] [PATCH v2 1/2] qdev: add HotplugHandler->post_plug() callback Stefan Hajnoczi
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Stefan Hajnoczi @ 2018-07-16  8:37 UTC (permalink / raw)
  To: qemu-devel
  Cc: l00284672, Igor Mammedov, Fam Zheng, Michael S. Tsirkin,
	Paolo Bonzini, Stefan Hajnoczi

v2:
 * Drop Error **errp argument to post_plug() handler [Paolo]
 * Move post_plug() call outside if (dev->hotplugged)

The virtio-scsi command virtqueues run during hotplug.  This creates the
possibility of race conditions since the guest can submit commands while the
monitor is performing hotplug.

See Patch 2 for a fix for the ->reset() vs event race condition that Zhengui Li
encountered.

Stefan Hajnoczi (2):
  qdev: add HotplugHandler->post_plug() callback
  virtio-scsi: fix hotplug ->reset() vs event race

 include/hw/hotplug.h  | 11 +++++++++++
 hw/core/hotplug.c     | 10 ++++++++++
 hw/core/qdev.c        |  4 ++++
 hw/scsi/virtio-scsi.c | 11 ++++++++++-
 4 files changed, 35 insertions(+), 1 deletion(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-07-16 14:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-16  8:37 [Qemu-devel] [PATCH v2 0/2] virtio-scsi: fix hotplug ->reset() vs event race Stefan Hajnoczi
2018-07-16  8:37 ` [Qemu-devel] [PATCH v2 1/2] qdev: add HotplugHandler->post_plug() callback Stefan Hajnoczi
2018-07-16  8:37 ` [Qemu-devel] [PATCH v2 2/2] virtio-scsi: fix hotplug ->reset() vs event race Stefan Hajnoczi
2018-07-16 12:40   ` Michael S. Tsirkin
2018-07-16 14:11     ` Paolo Bonzini
2018-07-16  9:28 ` [Qemu-devel] [PATCH v2 0/2] " Igor Mammedov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.