On Wed, Sep 21, 2016 at 06:56:46PM +0200, Greg Kurz wrote: > This series is a follow up to Stefan's work to eradicate most calls to > exit() we currently have in the virtio code. > > It addresses all exit() call sites in the blk, net and scsi device code, > where the error is about a missing or malformed in/out header sent by > the guest. They are converted to use virtio_error() and stop any processing, > instead of exiting. > > The remaining call sites are related to a host misconfiguration or a > migration stream issue. > > The 9P code currently calls assert() instead of exit(), but it also about > malformed or missing headers, so it gets converted the same way. > > Next work will be to check all assert() call sites in the device code, in > case some of them actually refer to a bug in the guest, and should be > converted to use virtio_error() as well. > > --- > > Greg Kurz (9): > virtio-9p: add parentheses to sizeof operator > virtio-blk: turn virtio_blk_handle_request() into a static function > virtio-9p: handle handle_9p_output() error > virtio-blk: handle virtio_blk_handle_request() errors > virtio-net: handle virtio_net_handle_ctrl() error > virtio-net: handle virtio_net_receive() errors > virtio-net: handle virtio_net_flush_tx() errors > virtio-scsi: convert virtio_scsi_bad_req() to use virtio_error() > virtio-scsi: handle virtio_scsi_set_config() error > > > hw/9pfs/virtio-9p-device.c | 24 ++++++++++++++----- > hw/block/virtio-blk.c | 28 ++++++++++++++-------- > hw/net/virtio-net.c | 51 > +++++++++++++++++++++++----------------- > hw/scsi/virtio-scsi.c | 23 ++++++++++-------- > include/hw/virtio/virtio-blk.h | 2 -- > 5 files changed, 78 insertions(+), 50 deletions(-)
I'll review the next revision fully. Please consider the leaks caused by returning with a VirtQueueElement allocated. I pointed them out in a few patches.
signature.asc
Description: PGP signature