qemu/hw/block
Zheyu Ma bbdf902366 block/virtio-blk: Fix memory leak from virtio_blk_zone_report
This modification ensures that in scenarios where the buffer size is
insufficient for a zone report, the function will now properly set an
error status and proceed to a cleanup label, instead of merely
returning.

The following ASAN log reveals it:

==1767400==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 312 byte(s) in 1 object(s) allocated from:
    #0 0x64ac7b3280cd in malloc llvm/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3
    #1 0x735b02fb9738 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5e738)
    #2 0x64ac7d23be96 in virtqueue_split_pop hw/virtio/virtio.c:1612:12
    #3 0x64ac7d23728a in virtqueue_pop hw/virtio/virtio.c:1783:16
    #4 0x64ac7cfcaacd in virtio_blk_get_request hw/block/virtio-blk.c:228:27
    #5 0x64ac7cfca7c7 in virtio_blk_handle_vq hw/block/virtio-blk.c:1123:23
    #6 0x64ac7cfecb95 in virtio_blk_handle_output hw/block/virtio-blk.c:1157:5

Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Message-id: 20240404120040.1951466-1-zheyuma97@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2024-04-04 09:29:42 -04:00
..
dataplane virtio-blk: move dataplane code into virtio-blk.c 2024-01-26 11:16:58 +01:00
block.c hw/block/block.c: improve confusing blk_check_size_and_read_all() error 2024-01-30 16:19:00 -05:00
cdrom.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ecc.c hw/block: Constify VMState 2023-12-29 11:17:30 +11:00
fdc-internal.h hw/block/fdc-sysbus: Move iomem from FDCtrl to FDCtrlSysBus 2024-02-14 06:09:32 -05:00
fdc-isa.c hw/block/fdc-isa: Implement relocation and enabling/disabling for TYPE_ISA_FDC 2024-02-14 06:09:32 -05:00
fdc-sysbus.c hw/block/fdc-sysbus: Move iomem from FDCtrl to FDCtrlSysBus 2024-02-14 06:09:32 -05:00
fdc.c hw/block: Constify VMState 2023-12-29 11:17:30 +11:00
hd-geometry.c hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
Kconfig hw/block/fdc: Extract SysBus floppy controllers to fdc-sysbus.c 2021-06-25 08:53:28 -04:00
m25p80_sfdp.c block: m25p80: Add support of mt35xu02gbba 2024-02-27 13:01:41 +00:00
m25p80_sfdp.h block: m25p80: Add support of mt35xu02gbba 2024-02-27 13:01:41 +00:00
m25p80.c aspeed/smc: Only wire flash devices at reset 2024-03-19 11:58:15 +01:00
meson.build meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
nand.c hw/block: Constify VMState 2023-12-29 11:17:30 +11:00
onenand.c hw/block: Constify VMState 2023-12-29 11:17:30 +11:00
pflash_cfi01.c hw/block/block.c: improve confusing blk_check_size_and_read_all() error 2024-01-30 16:19:00 -05:00
pflash_cfi02.c hw/block/block.c: improve confusing blk_check_size_and_read_all() error 2024-01-30 16:19:00 -05:00
swim.c hw/block: Constify VMState 2023-12-29 11:17:30 +11:00
tc58128.c hw/block/tc58128: Don't emit deprecation warning under qtest 2024-02-15 11:30:46 +00:00
trace-events hw/pflash: implement update buffer for block writes 2024-01-19 12:28:59 +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 hw/block: Constify VMState 2023-12-29 11:17:30 +11:00
virtio-blk-common.c virtio-blk: add zoned storage emulation for zoned devices 2023-05-15 08:18:10 -04:00
virtio-blk.c block/virtio-blk: Fix memory leak from virtio_blk_zone_report 2024-04-04 09:29:42 -04:00
xen_blkif.h xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xen-block.c hw/xen: clean up xen_block_find_free_vdev() to avoid Coverity false positive 2023-11-21 11:45:06 +00:00