The following changes since commit 615ece3c406b262996e569f29ea6eed0d81c4d8d:
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2026-10-09 15:49:53 +0200) are available in the Git repository at: https://gitlab.com/marcandre.lureau/qemu.git tags/ui-pr-v1 for you to fetch changes up to 919711cab29776f12209b375a4db251007c6d96e: chardev/char: fix use-after-free on mux creation failure (2026-10-13 17:22:49 +0400) ---------------------------------------------------------------- UI, Audio & Chardev fixes + Terminal Resize Support Adds end-to-end support for propagating terminal size changes from the host to the guest. This includes a new CHR_EVENT_RESIZE chardev event, qemu_chr_resize() API, a chardev-window-size-changed QMP command, SIGWINCH handling, and wiring through mux/stdio/win-stdio chardevs, virtio-serial, virtio-console, GTK, and text console backends. - collect ui, audio, chardev and display fixes Signed-off-by: Marc-André Lureau <[email protected]> ---------------------------------------------------------------- Akihiko Odaki (1): hw/display/virtio-gpu: Block migration with large blobs Filip Hejsek (4): char-win-stdio: add support for terminal size ui/console-vc: forward text console size to vc chardev ui/gtk: forward gtk console size to vc chardev virtio-serial-bus: add terminal resize messages Gurchetan Singh (1): virtio-gpu-rutabaga: make sure ctx_ids match Marc-André Lureau (25): ui/spice-app: honor gl=off option, reject core/es hw/display/vga: fix OOB writes after external surface resize audio/ossaudio: fix ioctl passing address-of-pointer instead of pointer audio/dbusaudio: fix off-by-one in volume channel assertion audio/ossaudio: fix off-by-one in mmap buffer size assertion audio/paaudio: fix server string in PAConnection audio/paaudio: avoid pidfile path truncation audio/pwaudio: fix capture buffer leak on early return paths audio/pwaudio: clamp overrun writes to remaining ring buffer space audio/pwaudio: fix integer underflow in qpw_read() audio/pwaudio: handle negative avail in qpw_write and qpw_buffer_get_free audio/pwaudio: bail out on underrun in qpw_write audio/audio-mixeng-be: add upper bounds to audio settings validation audio/wavcapture: prevent freq overflow and corrupted WAV header ui/clipboard: clean up vm change state handler on last peer unregister ui/console: skip empty update regions in qemu_console_update ui/console: use QLIST_FOREACH_SAFE in dpy_refresh ui/input: fix integer overflow in qemu_input_scale_axis ui/vnc-enc-zrle: propagate zrle_compress_data error ui/vnc-jobs: assert rect coordinates and dimensions in vnc_job_add_rect chardev/char-pty: free pty_name in finalize chardev/char-ringbuf: reject zero size with is_power_of_2 chardev/char-ringbuf: use actual read length in qmp_ringbuf_read chardev/char-udp: clarify read_poll return value with pending data chardev/char: fix use-after-free on mux creation failure Szymon Lukasz (8): chardev: add cols, rows fields chardev: add CHR_EVENT_RESIZE chardev: add qemu_chr_resize() char-mux: add support for the terminal size main-loop: change the handling of SIGWINCH char-stdio: add support for the terminal size qmp: add chardev-window-size-changed command virtio-console: notify the guest about terminal resizes Tom Desnoyers (1): virtio-gpu: fix memory leaks in virgl and rutabaga audio/audio-mixeng-be.c | 4 +- audio/dbusaudio.c | 4 +- audio/ossaudio.c | 4 +- audio/paaudio.c | 6 ++- audio/pwaudio.c | 22 ++++++++++- audio/wavcapture.c | 6 +++ backends/cryptodev-vhost-user.c | 1 + chardev/char-fe.c | 13 +++++++ chardev/char-mux.c | 19 ++++++++- chardev/char-pty.c | 1 + chardev/char-ringbuf.c | 10 +++-- chardev/char-stdio.c | 33 ++++++++++++++++ chardev/char-udp.c | 4 ++ chardev/char-win-stdio.c | 19 +++++++++ chardev/char.c | 27 +++++++++++++ hw/block/vhost-user-blk.c | 1 + hw/char/terminal3270.c | 1 + hw/char/trace-events | 1 + hw/char/virtio-console.c | 35 +++++++++++++++-- hw/char/virtio-serial-bus.c | 81 ++++++++++++++++++++++++++++++++++++++- hw/display/vga.c | 8 ++-- hw/display/vhost-user-media.c | 1 + hw/display/virtio-gpu-rutabaga.c | 5 ++- hw/display/virtio-gpu-virgl.c | 6 +-- hw/display/virtio-gpu.c | 32 ++++++++++++++++ hw/ipmi/ipmi_bmc_extern.c | 1 + hw/scsi/vhost-user-scsi.c | 1 + hw/usb/ccid-card-passthru.c | 1 + hw/usb/dev-serial.c | 1 + hw/usb/redirect.c | 1 + hw/virtio/vhost-user-base.c | 1 + hw/virtio/vhost-user-scmi.c | 1 + include/chardev/char-fe.h | 10 +++++ include/chardev/char.h | 9 +++++ include/hw/virtio/virtio-serial.h | 7 ++++ include/qemu/main-loop.h | 5 +++ monitor/hmp.c | 1 + monitor/qmp.c | 1 + net/passt.c | 1 + net/vhost-user.c | 1 + qapi/char.json | 31 +++++++++++++++ ui/clipboard.c | 4 ++ ui/console-vc.c | 8 ++++ ui/console.c | 7 +++- ui/curses.c | 21 +++++++--- ui/gtk.c | 28 ++++++++++++++ ui/input.c | 8 +++- ui/spice-app.c | 10 ++++- ui/vnc-enc-zrle.c | 19 ++++++--- ui/vnc-jobs.c | 1 + util/main-loop.c | 33 ++++++++++++++++ 51 files changed, 513 insertions(+), 43 deletions(-)
