On Wed, 29 Jun 2016 14:49:59 +0200 Markus Armbruster <[email protected]> wrote:
> Igor Mammedov <[email protected]> writes: > > > replace mainly useless exit(1) on fatal error path with > > abort(), so that it would be possible to generate core > > dump, that could be used to analyse cause of problem. > > > > Signed-off-by: Igor Mammedov <[email protected]> > > --- > > hw/virtio/virtio.c | 24 ++++++++++++------------ > > 1 file changed, 12 insertions(+), 12 deletions(-) > > > > diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c > > index 7ed06ea..9d3ac72 100644 > > --- a/hw/virtio/virtio.c > > +++ b/hw/virtio/virtio.c > > @@ -315,7 +315,7 @@ static int virtqueue_num_heads(VirtQueue *vq, > > unsigned int idx) if (num_heads > vq->vring.num) { > > error_report("Guest moved used index from %u to %u", > > idx, vq->shadow_avail_idx); > > - exit(1); > > + abort(); > > What's wrong with a simple assert(num_heads <= vq->vring.num)? Nothing, it should work to as we don't use NDEBUG. My intent was to make core dump at the point and no to remove error message (though message's mostly useless for me as virtio is unfamiliar to me and I had to dig into core dump to analyze issue). > > > } > > /* On success, callers read a descriptor at vq->last_avail_idx. > > * Make sure descriptor read does not bypass avail index read. > > */ > [...]
