You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/hw/display
Peter Maydell 579be921f5 hw/display/exynos4210_fimd: Account for zero length in fimd_update_memory_section()
In fimd_update_memory_section() we attempt ot find and map part of
the RAM MR which backs the framebuffer, based on guest-configurable
size and start address.

If the guest configures framebuffer settings which result in a
zero-sized framebuffer, we hit an assertion(), because
memory_region_find() will return a NULL mem_section.mr.

Explicitly check for the zero-size case and treat this as a
guest error.

Because we now have a code path which can reach error_return without
calling memory_region_find to set w->mem_section, we must NULL out
w->mem_section.mr after the unref of the old MR, so that error_return
does not incorrectly double-unref the old MR.

Cc: qemu-stable@nongnu.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1407
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20251107143913.1341358-1-peter.maydell@linaro.org
2 weeks ago
..
Kconfig pvg: do not enable it on cross-architecture targets 9 months ago
acpi-vga-stub.c acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors 3 years ago
acpi-vga.c acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors 3 years ago
apple-gfx-mmio.m qom: Have class_init() take a const data argument 7 months ago
apple-gfx-pci.m qom: Make InterfaceInfo[] uses const 7 months ago
apple-gfx.h include/system: Move exec/memory.h to system/memory.h 8 months ago
apple-gfx.m hw/display/apple-gfx: Replace QemuSemaphore with QemuEvent 6 months ago
artist.c qemu: Declare all load/store helper in 'qemu/bswap.h' 5 months ago
ati.c qemu: Declare all load/store helper in 'qemu/bswap.h' 5 months ago
ati_2d.c hw/display/ati: allow compiling without PIXMAN 2 years ago
ati_dbg.c ati-vga: Add 30 bit palette access register 2 years ago
ati_int.h ati-vga: Implement fallback for pixman routines 2 years ago
ati_regs.h ati-vga: Add 30 bit palette access register 2 years ago
bcm2835_fb.c hw/display/bcm2835_fb: Move inclusion of console.h to the .c file 3 months ago
bochs-display.c qom: Make InterfaceInfo[] uses const 7 months ago
cg3.c qom: Have class_init() take a const data argument 7 months ago
cirrus_vga.c qom: Make InterfaceInfo[] uses const 7 months ago
cirrus_vga_internal.h
cirrus_vga_isa.c qom: Have class_init() take a const data argument 7 months ago
cirrus_vga_rop.h
cirrus_vga_rop2.h
dm163.c qom: Have class_init() take a const data argument 7 months ago
dpcd.c qom: Have class_init() take a const data argument 7 months ago
edid-generate.c edid: Fix clock of Detailed Timing Descriptor 4 years ago
edid-region.c include/system: Move exec/memory.h to system/memory.h 8 months ago
exynos4210_fimd.c hw/display/exynos4210_fimd: Account for zero length in fimd_update_memory_section() 2 weeks ago
framebuffer.c hw/display/framebuffer: Add cast to force 64x64 multiply 4 months ago
framebuffer.h include/system: Move exec/memory.h to system/memory.h 8 months ago
g364fb.c qom: Have class_init() take a const data argument 7 months ago
i2c-ddc.c qom: Have class_init() take a const data argument 7 months ago
jazz_led.c qom: Have class_init() take a const data argument 7 months ago
macfb.c qom: Have class_init() take a const data argument 7 months ago
meson.build pvg: add option to configure it out 9 months ago
next-fb.c qom: Have class_init() take a const data argument 7 months ago
omap_lcdc.c hw/arm/omap: Drop useless casts from void * to pointer 3 years ago
pl110.c qom: Have class_init() take a const data argument 7 months ago
pl110_template.h Replace config-time define HOST_WORDS_BIGENDIAN 4 years ago
qxl-logger.c hw/display/qxl: Pass requested buffer size to qxl_phys2virt() 3 years ago
qxl-render.c hw/display/qxl-render: fix qxl_unpack_chunks() chunk size calculation 4 months ago
qxl.c qom: Make InterfaceInfo[] uses const 7 months ago
qxl.h Replace "iothread lock" with "BQL" in comments 2 years ago
ramfb-standalone.c hw/i386: Add the ramfb romfile compatibility 5 months ago
ramfb-stubs.c ramfb: Add property to control if load the romfile 5 months ago
ramfb.c ramfb: Add property to control if load the romfile 5 months ago
sii9022.c qom: Have class_init() take a const data argument 7 months ago
sm501.c hw/display/sm501: fix missing error-report.h 4 months ago
ssd0303.c qom: Have class_init() take a const data argument 7 months ago
ssd0323.c qom: Have class_init() take a const data argument 7 months ago
tcx.c qom: Have class_init() take a const data argument 7 months ago
trace-events hw/display: add blob map/unmap trace events 2 months ago
trace.h
vga-access.h
vga-helpers.h vga: optimize horizontal pel panning in 256-color modes 2 years ago
vga-isa.c qom: Have class_init() take a const data argument 7 months ago
vga-mmio.c qom: Have class_init() take a const data argument 7 months ago
vga-pci.c qom: Make InterfaceInfo[] uses const 7 months ago
vga.c qemu: Convert target_words_bigendian() to TargetInfo API 5 months ago
vga_int.h include/system: Move exec/ioport.h to system/ioport.h 8 months ago
vga_regs.h vga: sort-of implement word and double-word access modes 2 years ago
vhost-user-gpu-pci.c modules: introduces module_kconfig directive 4 years ago
vhost-user-gpu.c vhost-user: return failure if backend crash when live migration 7 months ago
vhost-user-vga.c modules: introduces module_kconfig directive 4 years ago
virtio-dmabuf.c hw/display: fix memleak from virtio_add_resource 2 years ago
virtio-gpu-base.c hw/display: Allow injection of virtio-gpu EDID name 5 months ago
virtio-gpu-gl.c qom: Have class_init() take a const data argument 7 months ago
virtio-gpu-pci-gl.c modules: introduces module_kconfig directive 4 years ago
virtio-gpu-pci-rutabaga.c qom: Make InterfaceInfo[] uses const 7 months ago
virtio-gpu-pci.c qom: Have class_init() take a const data argument 7 months ago
virtio-gpu-rutabaga.c qom: Have class_init() take a const data argument 7 months ago
virtio-gpu-udmabuf-stubs.c
virtio-gpu-udmabuf.c ui/egl: use DRM_FORMAT_MOD_INVALID as default modifier 7 months ago
virtio-gpu-virgl.c hw/display: add blob map/unmap trace events 2 months ago
virtio-gpu.c migration: Fix regression of passing error_fatal into vmstate_load_state() 1 month ago
virtio-vga-gl.c modules: introduces module_kconfig directive 4 years ago
virtio-vga-rutabaga.c gfxstream + rutabaga: add initial support for gfxstream 2 years ago
virtio-vga.c qom: Have class_init() take a const data argument 7 months ago
virtio-vga.h hw/display/virtio-vga: Convert TYPE_VIRTIO_VGA_BASE to 3-phase reset 3 years ago
vmware_vga.c hw/display/vmware_vga: skip automatic zero-init of large struct 6 months ago
xenfb.c hw/display/xenfb: Replace unreachable code by g_assert_not_reached() 2 months ago
xlnx_dp.c hw/display/xlnx_dp: Don't abort for unsupported graphics formats 3 weeks ago