[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] f27206: hw/audio/hda: free timer on exit
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] f27206: hw/audio/hda: free timer on exit |
Date: |
Mon, 14 Oct 2024 09:11:10 -0700 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: f27206ceedbe2efae37c8d143c5eb2db05251508
https://github.com/qemu/qemu/commit/f27206ceedbe2efae37c8d143c5eb2db05251508
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M hw/audio/hda-codec.c
Log Message:
-----------
hw/audio/hda: free timer on exit
Fixes: 280c1e1cd ("audio/hda: create millisecond timers that handle IO")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-2-marcandre.lureau@redhat.com>
Commit: 6d6e23361fc732e4fe36a8bc5873b85f264ed53a
https://github.com/qemu/qemu/commit/6d6e23361fc732e4fe36a8bc5873b85f264ed53a
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M hw/audio/hda-codec.c
Log Message:
-----------
hw/audio/hda: fix memory leak on audio setup
When SET_STREAM_FORMAT is called, we should clear the existing setup.
Factor out common function to close a stream.
Direct leak of 144 byte(s) in 3 object(s) allocated from:
#0 0x7f91d38f7350 in calloc (/lib64/libasan.so.8+0xf7350) (BuildId:
a4ad7eb954b390cf00f07fa10952988a41d9fc7a)
#1 0x7f91d2ab7871 in g_malloc0 (/lib64/libglib-2.0.so.0+0x64871) (BuildId:
36b60dbd02e796145a982d0151ce37202ec05649)
#2 0x562fa2f447ee in timer_new_full
/home/elmarco/src/qemu/include/qemu/timer.h:538
#3 0x562fa2f4486f in timer_new
/home/elmarco/src/qemu/include/qemu/timer.h:559
#4 0x562fa2f448a9 in timer_new_ns
/home/elmarco/src/qemu/include/qemu/timer.h:577
#5 0x562fa2f47955 in hda_audio_setup ../hw/audio/hda-codec.c:490
#6 0x562fa2f4897e in hda_audio_command ../hw/audio/hda-codec.c:605
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-3-marcandre.lureau@redhat.com>
Commit: 244d52ff736fefc3dd364ed091720aa896af306d
https://github.com/qemu/qemu/commit/244d52ff736fefc3dd364ed091720aa896af306d
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M ui/dbus-listener.c
Log Message:
-----------
ui/dbus: fix leak on message filtering
A filter function that wants to drop a message should return NULL, in
which case it must also unref the message itself.
Fixes: fa88b85de ("ui/dbus: filter out pending messages when scanout")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-4-marcandre.lureau@redhat.com>
Commit: 330ef31deb2e5461cff907488b710f5bd9cd2327
https://github.com/qemu/qemu/commit/330ef31deb2e5461cff907488b710f5bd9cd2327
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M hw/display/virtio-gpu.c
M include/ui/qemu-pixman.h
M ui/console.c
M ui/qemu-pixman.c
Log Message:
-----------
ui/win32: fix potential use-after-free with dbus shared memory
DisplaySurface may be free before the pixman image is freed, since the
image is refcounted and used by different objects, including pending
dbus messages.
Furthermore, setting the destroy function in
create_displaysurface_from() isn't appropriate, as it may not be used,
and may be overriden as in ramfb.
Set the destroy function when the shared handle is set, use the HANDLE
directly for destroy data, using a single common helper
qemu_pixman_win32_image_destroy().
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-5-marcandre.lureau@redhat.com>
Commit: cf59889781297a5618f1735a5f31402caa806b42
https://github.com/qemu/qemu/commit/cf59889781297a5618f1735a5f31402caa806b42
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M ui/dbus-listener.c
Log Message:
-----------
ui/dbus: fix filtering all update messages
Filtering pending messages when a new scanout is given shouldn't discard
pending cursor changes, for example.
Since filtering happens in a different thread, use atomic set/get.
Fixes: fa88b85dea ("ui/dbus: filter out pending messages when scanout")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-6-marcandre.lureau@redhat.com>
Commit: 6b9524dfa550e4ce66451e3bdfbe61f2a683fddc
https://github.com/qemu/qemu/commit/6b9524dfa550e4ce66451e3bdfbe61f2a683fddc
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M ui/dbus-listener.c
Log Message:
-----------
ui/dbus: discard display messages on disable
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-7-marcandre.lureau@redhat.com>
Commit: dcf62fb6ce8f56709d74c9b79c15478b9f3ff266
https://github.com/qemu/qemu/commit/dcf62fb6ce8f56709d74c9b79c15478b9f3ff266
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M ui/dbus-listener.c
Log Message:
-----------
ui/dbus: discard pending CursorDefine on new one
Similar to scanout updates, let's discard pending cursor changes.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-8-marcandre.lureau@redhat.com>
Commit: c90204b65400d77a918844889ad6789858406203
https://github.com/qemu/qemu/commit/c90204b65400d77a918844889ad6789858406203
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M util/memfd.c
Log Message:
-----------
util/memfd: report potential errors on free
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-9-marcandre.lureau@redhat.com>
Commit: 1bfb726112ea4fda07c988f08df32d1eebb9abec
https://github.com/qemu/qemu/commit/1bfb726112ea4fda07c988f08df32d1eebb9abec
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M hw/display/virtio-gpu.c
M include/ui/qemu-pixman.h
M ui/console.c
M ui/qemu-pixman.c
Log Message:
-----------
ui/pixman: generalize shared_image_destroy
Learn to free memfd-allocated shared memory.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-10-marcandre.lureau@redhat.com>
Commit: 2448ff392c46aec2835f5eb6214e73438bbecda5
https://github.com/qemu/qemu/commit/2448ff392c46aec2835f5eb6214e73438bbecda5
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M ui/dbus-console.c
Log Message:
-----------
ui/dbus: do not limit to one listener per connection / bus name
This is an arbitrary limitation that doesn't concern QEMU directly and
may make some use cases unnecessarily more complicated.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-11-marcandre.lureau@redhat.com>
Commit: 28a3ca04782c5b72b85e197ccfab287a66ce76cb
https://github.com/qemu/qemu/commit/28a3ca04782c5b72b85e197ccfab287a66ce76cb
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M ui/dbus-listener.c
M ui/trace-events
Log Message:
-----------
ui/dbus: add trace for can_share_map
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-12-marcandre.lureau@redhat.com>
Commit: ec818df0005d1598d249f0cfea557226b6ad89a6
https://github.com/qemu/qemu/commit/ec818df0005d1598d249f0cfea557226b6ad89a6
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M include/ui/surface.h
M ui/console.c
Log Message:
-----------
ui/surface: allocate shared memory on !win32
Use qemu_memfd_alloc() to allocate the display surface memory, which
will fallback on tmpfile/mmap() on systems without memfd, and allow to
share the display with other processes.
This is similar to how display memory is allocated on win32 since commit
09b4c198 ("console/win32: allocate shareable display surface").
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-13-marcandre.lureau@redhat.com>
Commit: c118c8eb3e63c02421e8a02e82ffab6fa8369301
https://github.com/qemu/qemu/commit/c118c8eb3e63c02421e8a02e82ffab6fa8369301
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M meson.build
Log Message:
-----------
meson: find_program('gdbus-codegen') directly
gio.pc variable is a bit bogus in context of cross-compilation, since it
contains an absolute path, relative to the sysroot directory. On Fedora, it ends
up as:
/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig/usr/bin/gdbus-codegen
path which does not exist because it is not shipped by Fedora mingw
packages.
Instead, we can rely on meson find_program() behaviour to do a better
job based on its search order and capabilities.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-14-marcandre.lureau@redhat.com>
Commit: 3a9d38d31ea7bf99c62c8d97433baa85b3bdd5c9
https://github.com/qemu/qemu/commit/3a9d38d31ea7bf99c62c8d97433baa85b3bdd5c9
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M ui/dbus-display1.xml
Log Message:
-----------
ui/dbus: make Listener.Win32.Map win32-specific
There are no types specific to Windows, so the code compiles on other
platforms, but its useless on !Windows.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-15-marcandre.lureau@redhat.com>
Commit: 4de1797ff6ceb7387cdb967ec1fa0128624ff405
https://github.com/qemu/qemu/commit/4de1797ff6ceb7387cdb967ec1fa0128624ff405
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M ui/dbus-display1.xml
Log Message:
-----------
ui/dbus: add Listener.Unix.Map interface XML
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-16-marcandre.lureau@redhat.com>
Commit: 48b7ef0f0fc3c3033797b67d1554987a516488f9
https://github.com/qemu/qemu/commit/48b7ef0f0fc3c3033797b67d1554987a516488f9
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M ui/dbus-listener.c
Log Message:
-----------
ui/dbus: implement Unix.Map
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-17-marcandre.lureau@redhat.com>
Commit: 5f899c34af1dbb0f621287faf9bcfb60fa237543
https://github.com/qemu/qemu/commit/5f899c34af1dbb0f621287faf9bcfb60fa237543
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M hw/display/virtio-gpu.c
M include/hw/virtio/virtio-gpu.h
Log Message:
-----------
virtio-gpu: allocate shareable 2d resources on !win32
Similar to what was done in commit 9462ff46 ("virtio-gpu/win32: allocate
shareable 2d resources/images") for win32, allocate resource memory with
memfd, so the associated display surface memory can be shared with a
different process.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-18-marcandre.lureau@redhat.com>
Commit: 1ff788db9781615be745671ebdb2eb82c137c5b8
https://github.com/qemu/qemu/commit/1ff788db9781615be745671ebdb2eb82c137c5b8
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M hw/display/virtio-gpu.c
M include/hw/virtio/virtio-gpu.h
M include/ui/qemu-pixman.h
M include/ui/surface.h
M ui/console.c
M ui/dbus-listener.c
M ui/qemu-pixman.c
Log Message:
-----------
ui: refactor using a common qemu_pixman_shareable
Use a common shareable type for win32 & unix, and helper functions.
This simplify the code as it avoids a lot of #ifdef'ery.
Note: if it helps review, commits could be reordered to introduce the
common type before introducing shareable memory for unix.
Suggested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-19-marcandre.lureau@redhat.com>
Commit: ab10297a4ab1dac64baf04ed66929bef60e67d2e
https://github.com/qemu/qemu/commit/ab10297a4ab1dac64baf04ed66929bef60e67d2e
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M tests/qtest/dbus-display-test.c
Log Message:
-----------
tests: add basic -display dbus Map.Unix test
Only check we eventually get a shared memory scanout.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-20-marcandre.lureau@redhat.com>
Commit: 4cd78a3db2478d3c1527905a26c9d3fbee83ccac
https://github.com/qemu/qemu/commit/4cd78a3db2478d3c1527905a26c9d3fbee83ccac
Author: Michal Privoznik <mprivozn@redhat.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M audio/pwaudio.c
Log Message:
-----------
audio/pw: Report more accurate error when connecting to PipeWire fails
According to its man page [1], pw_context_connect() sets errno on
failure:
Returns a Core on success or NULL with errno set on error.
It may be handy to see errno when figuring out why PipeWire
failed to connect. That leaves us with just one possible path to
reach 'fail_error' label which is then moved to that path and
also its error message is adjusted slightly.
1:
https://docs.pipewire.org/group__pw__core.html#ga5994e3a54e4ec718094ca02a1234815b
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID:
<3a78811ad5b0e87816b7616ab21d2eeef00b9c52.1726647033.git.mprivozn@redhat.com>
Commit: 35152940b78e478b97051a799cb6275ced03192e
https://github.com/qemu/qemu/commit/35152940b78e478b97051a799cb6275ced03192e
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M audio/pwaudio.c
M hw/audio/hda-codec.c
M hw/display/virtio-gpu.c
M include/hw/virtio/virtio-gpu.h
M include/ui/qemu-pixman.h
M include/ui/surface.h
M meson.build
M tests/qtest/dbus-display-test.c
M ui/console.c
M ui/dbus-console.c
M ui/dbus-display1.xml
M ui/dbus-listener.c
M ui/qemu-pixman.c
M ui/trace-events
M util/memfd.c
Log Message:
-----------
Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into
staging
UI-related fixes & shareable 2d memory with -display dbus
# -----BEGIN PGP SIGNATURE-----
#
# iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmcNHtIcHG1hcmNhbmRy
# ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5SYTD/9fRNrgnZIvIbIGf0kv
# j3LguzwEsfn8eIUbJEIxtDnoS17zX1t981kP9J9ctUM6wnb0iQNYCXeTrF8Xrq0z
# psiPhHGwPyWMdn9SWRfj597ShPn75z340Qve5GUm7clGu2KILh7TqqACH8LzaX+5
# 6jqoZc3kqD+PYZHnYAi6v1YFfLIYfj0n6EaO/J4RRRZSrknpgct7jpmqL4wVzTIo
# KYlG5afdUUfhmSIv5ZDpuuEJppdG74K2H+hJKDPIOOQ8/i/IU2EQPJ00ppiOPbET
# nA0+piLGtHQwU24u5kDdbDlGL/y1KBKvGclOtzLQxWNStch5A6hqllNsuIg+0dJW
# MRO2WZ8C7P7LD1eGmtYVZF/NzjnlTW/hbM5i0poPqhfcwbVmlIXjDs8GUfMGfINr
# 1MVFGNjxfgadYZ1f6Q/JU/KWPJMR4Ik3C/SmGrRBlfra5YIts0ItDeGgfQIW9JGb
# 1CpOng6/3SvW01B6psrPL+wP+6PsK333KPIA77KafOEMyOyEyuSOUrTShXbyXBHc
# r/nLbWw2lZs4U0kgGRQ21+R3huTyw8LnikYpCnGwTWGCpb9NDFYg7z3CRrZW0hWx
# DIWfN7M6YymeYygPUV9Wjo6i4yq4QqWPp7/QXtkSdX3v44/D7NWytKGST+Hwjkpa
# h6U2vrsLdep2m47bnX/dEEP61g==
# =xdt/
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 14 Oct 2024 14:38:26 BST
# gpg: using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
# gpg: issuer "marcandre.lureau@redhat.com"
# gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>"
[full]
# gpg: aka "Marc-André Lureau <marcandre.lureau@gmail.com>"
[full]
# Primary key fingerprint: 87A9 BD93 3F87 C606 D276 F62D DAE8 E109 7596 9CE5
* tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu:
audio/pw: Report more accurate error when connecting to PipeWire fails
tests: add basic -display dbus Map.Unix test
ui: refactor using a common qemu_pixman_shareable
virtio-gpu: allocate shareable 2d resources on !win32
ui/dbus: implement Unix.Map
ui/dbus: add Listener.Unix.Map interface XML
ui/dbus: make Listener.Win32.Map win32-specific
meson: find_program('gdbus-codegen') directly
ui/surface: allocate shared memory on !win32
ui/dbus: add trace for can_share_map
ui/dbus: do not limit to one listener per connection / bus name
ui/pixman: generalize shared_image_destroy
util/memfd: report potential errors on free
ui/dbus: discard pending CursorDefine on new one
ui/dbus: discard display messages on disable
ui/dbus: fix filtering all update messages
ui/win32: fix potential use-after-free with dbus shared memory
ui/dbus: fix leak on message filtering
hw/audio/hda: fix memory leak on audio setup
hw/audio/hda: free timer on exit
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/aa54f5be44be...35152940b78e
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications
- [Qemu-commits] [qemu/qemu] f27206: hw/audio/hda: free timer on exit,
Peter Maydell <=