qemu/hw/block
Stefan Hajnoczi b7c1bd9d78 Revert "vhost-blk: set features before setting inflight feature"
This reverts commit adb29c0273.

The commit broke -device vhost-user-blk-pci because the
vhost_dev_prepare_inflight() function it introduced segfaults in
vhost_dev_set_features() when attempting to access struct vhost_dev's
vdev pointer before it has been assigned.

To reproduce the segfault simply launch a vhost-user-blk device with the
contrib vhost-user-blk device backend:

  $ build/contrib/vhost-user-blk/vhost-user-blk -s /tmp/vhost-user-blk.sock -r -b /var/tmp/foo.img
  $ build/qemu-system-x86_64 \
        -device vhost-user-blk-pci,id=drv0,chardev=char1,addr=4.0 \
        -object memory-backend-memfd,id=mem,size=1G,share=on \
        -M memory-backend=mem,accel=kvm \
        -chardev socket,id=char1,path=/tmp/vhost-user-blk.sock
  Segmentation fault (core dumped)

Cc: Jin Yu <jin.yu@intel.com>
Cc: Raphael Norwitz <raphael.norwitz@nutanix.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201102165709.232180-1-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-11-03 16:39:05 -05:00
..
dataplane meson: convert hw/block 2020-08-21 06:30:32 -04:00
block.c block: make BlockConf size props 32bit and accept size suffixes 2020-06-17 14:53:40 +02:00
cdrom.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ecc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
fdc.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
hd-geometry.c block: Remove blk_pread_unthrottled() 2019-08-16 10:25:16 +02:00
Kconfig hw/m68k: add a dummy SWIM floppy controller 2019-10-28 19:06:51 +01:00
m25p80.c Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
meson.build hw/block/nvme: support multiple namespaces 2020-10-27 07:24:47 +01:00
nand.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
nvme-ns.c hw/block/nvme: report actual LBA data shift in LBAF 2020-10-27 11:29:25 +01:00
nvme-ns.h hw/block/nvme: support multiple namespaces 2020-10-27 07:24:47 +01:00
nvme.c hw/block/nvme: fix queue identifer validation 2020-10-27 11:29:25 +01:00
nvme.h hw/block/nvme: change controller pci id 2020-10-27 07:24:47 +01:00
onenand.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pflash_cfi01.c hw: Remove superfluous breaks 2020-09-01 08:38:00 +02:00
pflash_cfi02.c pflash: Use ERRP_GUARD() 2020-07-10 15:18:09 +02:00
swim.c swim: Rename struct SWIM to Swim 2020-08-27 14:04:55 -04:00
tc58128.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
trace-events hw/block/nvme: fix prp mapping status codes 2020-10-27 11:29:25 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-user-blk.c Revert "vhost-blk: set features before setting inflight feature" 2020-11-03 16:39:05 -05:00
virtio-blk.c virtio-blk: undo destructive iov_discard_*() operations 2020-09-23 13:41:58 +01:00
xen_blkif.h xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xen-block.c xen: Use ERRP_GUARD() 2020-07-10 15:18:09 +02:00