Files
qemu/hw/audio
Manos Pitsidianakis f785618184 virtio-sound: add realize() error cleanup path
QEMU crashes on exit when a virtio-sound device has failed to
realise. Its vmstate field was not cleaned up properly with
qemu_del_vm_change_state_handler().

This patch changes the realize() order as

1. Validate the given configuration values (no resources allocated
   by us either on success or failure)
2. Try AUD_register_card() and return on failure (no resources allocated
   by us on failure)
3. Initialize vmstate, virtio device, heap allocations and stream
   parameters at once.
   If error occurs, goto error_cleanup label which calls
   virtio_snd_unrealize(). This cleans up all resources made in steps
   1-3.

Reported-by: Volker Rümelin <vr_qemu@t-online.de>
Fixes: 2880e676c0 ("Add virtio-sound device stub")
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-Id: <20231116072046.4002957-1-manos.pitsidianakis@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2023-12-02 15:56:49 -05:00
..
2023-11-13 11:35:47 +01:00
2023-09-08 13:08:52 +03:00
2023-09-08 13:08:52 +03:00
2023-09-08 13:08:52 +03:00
2017-05-04 09:16:05 +02:00
2023-09-08 13:08:52 +03:00
2023-09-22 16:30:07 +02:00
2023-09-22 16:30:07 +02:00
2023-11-07 03:39:10 -05:00
2023-11-07 03:39:10 -05:00