- Jul 17, 2023
-
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Volker Rümelin <vr_qemu@t-online.de> Message-Id: <20230506163735.3481387-9-marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
PipeWire uses errno to report error details. Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Volker Rümelin <vr_qemu@t-online.de> Message-Id: <20230506163735.3481387-8-marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by:
Volker Rümelin <vr_qemu@t-online.de> Message-Id: <20230506163735.3481387-7-marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
g_clear_pointer() already checks for NULL. Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Volker Rümelin <vr_qemu@t-online.de> Message-Id: <20230506163735.3481387-6-marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Volker Rümelin <vr_qemu@t-online.de> Message-Id: <20230506163735.3481387-5-marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
"PipeWire" is the correct case. Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by:
Volker Rümelin <vr_qemu@t-online.de> Message-Id: <20230506163735.3481387-4-marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230506163735.3481387-3-marcandre.lureau@redhat.com>
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20230506163735.3481387-2-marcandre.lureau@redhat.com>
-
Dongwon Kim authored
Skip refresh if a new dmabuf (guest scanout frame) has already been submitted and ready to be drawn because the scanout will be updated with new frame anyway. Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Vivek Kasireddy <vivek.kasireddy@intel.com> Signed-off-by:
Dongwon Kim <dongwon.kim@intel.com> Acked-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20230706183355.29361-2-dongwon.kim@intel.com>
-
Dongwon Kim authored
Setting scanout mode is better to be done very last minute right because the mode can be reset anytime after it is set in dpy_gl_scanout_texture by any asynchronouse dpy_refresh call, which eventually cancels drawing of the guest scanout texture. Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Vivek Kasireddy <vivek.kasireddy@intel.com> Signed-off-by:
Dongwon Kim <dongwon.kim@intel.com> Acked-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20230706183355.29361-1-dongwon.kim@intel.com>
-
Dongwon Kim authored
Replace 'width' and 'height' in QemuDmaBuf with 'backing_widht' and 'backing_height' as these commonly indicate the size of the whole surface (e.g. guest's Xorg extended display). Then use 'width' and 'height' for sub region in there (e.g. guest's scanouts). Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Vivek Kasireddy <vivek.kasireddy@intel.com> Signed-off-by:
Dongwon Kim <dongwon.kim@intel.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20230713040444.32267-1-dongwon.kim@intel.com>
-
Dongwon Kim authored
The primary guest scanout shows the booting screen right after reboot but additional guest displays (i.e. max_ouptuts > 1) will keep displaying the old frames until the guest virtio gpu driver gets initialized, which could cause some confusion. A better way is to to replace the surface with a place holder that tells the display is not active during the reset of virtio-gpu device. And to immediately update the surface with the place holder image after the switch, displaychangelistener_gfx_switch needs to be called with 'update == TRUE' in dpy_gfx_replace_surface when the new surface is NULL. Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Vivek Kasireddy <vivek.kasireddy@intel.com> Signed-off-by:
Dongwon Kim <dongwon.kim@intel.com> Acked-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20230627224451.11739-1-dongwon.kim@intel.com>
-
Dongwon Kim authored
Observed a wrong context is bound when changing the scanout mode. To prevent problem, it is needed to make sure to bind the right context in gtk_egl_set_scanout_mode/gtk_gl_area_set_scanout_mode as well as unbind one in the end of gd_egl_update/gd_gl_area_update. Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Vivek Kasireddy <vivek.kasireddy@intel.com> Signed-off-by:
Dongwon Kim <dongwon.kim@intel.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20230628191504.17185-1-dongwon.kim@intel.com>
-
Mauro Matteo Cascella authored
A wrong exit condition may lead to an infinite loop when inflating a valid zlib buffer containing some extra bytes in the `inflate_buffer` function. The bug only occurs post-authentication. Return the buffer immediately if the end of the compressed data has been reached (Z_STREAM_END). Fixes: CVE-2023-3255 Fixes: 0bf41cab ("ui/vnc: clipboard support") Reported-by:
Kevin Denis <kevin.denis@synacktiv.com> Signed-off-by:
Mauro Matteo Cascella <mcascell@redhat.com> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Tested-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20230704084210.101822-1-mcascell@redhat.com>
-
Marc-André Lureau authored
Commit 9462ff46 ("virtio-gpu/win32: allocate shareable 2d resources/images") introduces a division, which can lead to crashes when "height" is 0. Fixes: https://gitlab.com/qemu-project/qemu/-/issues/1744 Reviewed-by:
Alexander Bulekov <alxndr@bu.edu> Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com>
-
- Jul 15, 2023
-
-
https://github.com/stefanberger/qemu-tpmRichard Henderson authored
Merge tpm 2023/07/14 v1 # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCAAdFiEEuBi5yt+QicLVzsZrda1lgCoLQhEFAmSxasMACgkQda1lgCoL # QhHaJwgAzOzXV9xRId1wjNLHI9HF4dkblfr12PgKsECKz7uPvcbpZOsDvu629Z8f # a2X502Mep+6lBqq5RNUF59a5nE3laoYItaF+P+TFWz74+na7WKyFg107YyoHvCfJ # GdjpCNyOGaXzDycAcwjqvkX5q532YBD9npedD9NzZ2UgUYWVXOYAZFhek6H9kwHN # xlewj80pHLw3X8MM/Z1jR5hDFQa4ocCvF8F2Fnr4u0L5b+noga1WzspKTY8mcbVJ # 3ncOTuvoWReBPweZhvSzsFbYAFb3OEeaimUHQrKVJj1L7pJtSJZeOuS+umbhvpFR # 9baczGwrqYqpPtiDT48lTjArdJ8Cqw== # =6Hmf # -----END PGP SIGNATURE----- # gpg: Signature made Fri 14 Jul 2023 04:33:23 PM BST # gpg: using RSA key B818B9CADF9089C2D5CEC66B75AD65802A0B4211 # gpg: Good signature from "Stefan Berger <stefanb@linux.vnet.ibm.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: B818 B9CA DF90 89C2 D5CE C66B 75AD 6580 2A0B 4211 * tag 'pull-tpm-2023-07-14-1' of https://github.com/stefanberger/qemu-tpm : hw/tpm: TIS on sysbus: Remove unsupport ppi command line option Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
https://gitlab.com/rth7680/qemuRichard Henderson authored
tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128 accel/tcg: Introduce page_check_range_empty accel/tcg: Introduce page_find_range_empty accel/tcg: Accept more page flags in page_check_range accel/tcg: Return bool from page_check_range accel/tcg: Always lock pages before translation linux-user: Use abi_* types for target structures in syscall_defs.h linux-user: Fix abi_llong alignment for microblaze and nios2 linux-user: Fix do_shmat type errors linux-user: Implement execve without execveat linux-user: Make sure initial brk is aligned linux-user: Use a mask with strace flags linux-user: Implement MAP_FIXED_NOREPLACE linux-user: Widen target_mmap offset argument to off_t linux-user: Use page_find_range_empty for mmap_find_vma_reserved linux-user: Use 'last' instead of 'end' in target_mmap and subroutines linux-user: Remove can_passthrough_madvise linux-user: Simplify target_madvise linux-user: Drop uint and ulong types linux-user/arm: Do not allocate a commpage at all for M-profile CPUs bsd-user: Use page_check_range_empty for MAP_EXCL bsd-user: Use page_find_range_empty for mmap_find_vma_reserved # -----BEGIN PGP SIGNATURE----- # # iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmSypEYdHHJpY2hhcmQu # aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV9VzQf/RMRK4SQDJiJEbQ6K # 5U1i955Rl4MMLT8PrkbT/UDA9soyIlSVjUenW8ThJJg6SLbSvkXZsWn165PFu+yW # nYkeCYxkJtAjWmmFlZ44J+VLEZZ6LkWrIvPZHvKohelpi6uT/fuQaAZjKuH2prI/ # 7bdP5YdLUMpCztERHYfxmroEX4wJR6knsRpt5rYchADxEfkWk82PanneCw7grQ6V # VNg1pRGplp0jMkpOOBvMD1ENkmoipklMe9P1gQdCHobg2/kqpozhT1oQp/gHNkP5 # 66Cjzv8o0nnPjJetm74pnP06iNhuMjDesD7f+Vq/DALgMobwjvhDW5GD+Ccto85B # hqvwHA== # =vm0t # -----END PGP SIGNATURE----- # gpg: Signature made Sat 15 Jul 2023 02:51:02 PM BST # gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F # gpg: issuer "richard.henderson@linaro.org" # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [ultimate] * tag 'pull-tcg-20230715' of https://gitlab.com/rth7680/qemu : (47 commits) tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128 accel/tcg: Always lock pages before translation linux-user/arm: Do not allocate a commpage at all for M-profile CPUs linux-user: Drop uint and ulong linux-user: Simplify target_madvise linux-user: Remove can_passthrough_madvise accel/tcg: Return bool from page_check_range accel/tcg: Accept more page flags in page_check_range linux-user: Simplify target_munmap linux-user: Rename mmap_reserve to mmap_reserve_or_unmap linux-user: Rewrite mmap_reserve linux-user: Use 'last' instead of 'end' in target_mmap linux-user: Use page_find_range_empty for mmap_find_vma_reserved bsd-user: Use page_find_range_empty for mmap_find_vma_reserved accel/tcg: Introduce page_find_range_empty linux-user: Rewrite mmap_frag linux-user: Rewrite target_mprotect linux-user: Widen target_mmap offset argument to off_t linux-user: Split out target_to_host_prot linux-user: Implement MAP_FIXED_NOREPLACE ... Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
We adjust CONFIG_ATOMIC128 and CONFIG_CMPXCHG128 with CONFIG_ATOMIC128_OPT in atomic128.h. It is difficult to tell when those changes have been applied with the ifdef we must use with CONFIG_CMPXCHG128. So instead use HAVE_CMPXCHG128, which triggers -Werror-undef when the proper header has not been included. Improves tcg_gen_atomic_cmpxchg_i128 for s390x host, which requires CONFIG_ATOMIC128_OPT. Without this we fall back to EXCP_ATOMIC to single-step 128-bit atomics, which is slow enough to cause some tests to time out. Reported-by:
Thomas Huth <thuth@redhat.com> Tested-by:
Thomas Huth <thuth@redhat.com> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
We had done this for user-mode by invoking page_protect within the translator loop. Extend this to handle system mode as well. Move page locking out of tb_link_page. Reported-by:
Liren Wei <lrwei@bupt.edu.cn> Reported-by:
Richard W.M. Jones <rjones@redhat.com> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Tested-by:
Richard W.M. Jones <rjones@redhat.com>
-
Philippe Mathieu-Daudé authored
Since commit fbd3c4cf ("linux-user/arm: Mark the commpage executable") executing bare-metal (linked with rdimon.specs) cortex-M code fails as: $ qemu-arm -cpu cortex-m3 ~/hello.exe.m3 qemu-arm: ../../accel/tcg/user-exec.c:492: page_set_flags: Assertion `last <= GUEST_ADDR_MAX' failed. Aborted (core dumped) Commit 4f5c67f8 ("linux-user/arm: Take more care allocating commpage") already took care of not allocating a commpage for M-profile CPUs, however it had to be reverted as commit 6cda41da. Re-introduce the M-profile fix from commit 4f5c67f8. Fixes: fbd3c4cf ("linux-user/arm: Mark the commpage executable") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1755 Reported-by:
Christophe Lyon <christophe.lyon@linaro.org> Suggested-by:
Richard Henderson <richard.henderson@linaro.org> Signed-off-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by:
Anton Johansson <anjo@rev.ng> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230711153408.68389-1-philmd@linaro.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Juan Quintela authored
These are types not used anymore anywhere else. Signed-off-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Laurent Vivier <laurent@vivier.eu> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: <20230511085056.13809-1-quintela@redhat.com> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
The trivial length 0 check can be moved up, simplifying some of the other cases. The end < start test is handled by guest_range_valid_untagged. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-27-richard.henderson@linaro.org>
-
Richard Henderson authored
Use page_check_range instead, which uses the interval tree instead of checking each page individually. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-26-richard.henderson@linaro.org>
-
Richard Henderson authored
Replace the 0/-1 result with true/false. Invert the sense of the test of all callers. Document the function. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-25-richard.henderson@linaro.org>
-
Richard Henderson authored
Only PAGE_WRITE needs special attention, all others can be handled as we do for PAGE_READ. Adjust the mask. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230707204054.8792-24-richard.henderson@linaro.org>
-
Richard Henderson authored
All of the guest to host page adjustment is handled by mmap_reserve_or_unmap; there is no need to duplicate that. There are no failure modes for munmap after alignment and guest address range have been validated. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-23-richard.henderson@linaro.org>
-
Richard Henderson authored
If !reserved_va, munmap instead and assert success. Update all callers. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-22-richard.henderson@linaro.org>
-
Richard Henderson authored
Use 'last' variables instead of 'end' variables; be careful about avoiding overflow. Assert that the mmap succeeded. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-21-richard.henderson@linaro.org>
-
Richard Henderson authored
Complete the transition within the mmap functions to a formulation that does not overflow at the end of the address space. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230707204054.8792-20-richard.henderson@linaro.org>
-
Richard Henderson authored
Use the interval tree to find empty space, rather than probing each page in turn. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-19-richard.henderson@linaro.org>
-
Richard Henderson authored
Use the interval tree to find empty space, rather than probing each page in turn. Cc: Warner Losh <imp@bsdimp.com> Cc: Kyle Evans <kevans@freebsd.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-bt: Warner Losh <imp@bsdimp.com> Message-Id: <20230707204054.8792-18-richard.henderson@linaro.org>
-
Richard Henderson authored
Use the interval tree to locate an unused range in the VM. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-17-richard.henderson@linaro.org>
-
Richard Henderson authored
Use 'last' variables instead of 'end' variables. Always zero MAP_ANONYMOUS fragments, which we previously failed to do if they were not writable; early exit in case we allocate a new page from the kernel, known zeros. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-16-richard.henderson@linaro.org>
-
Richard Henderson authored
Use 'last' variables instead of 'end' variables. When host page size > guest page size, detect when adjacent host pages have the same protection and merge that expanded host range into fewer syscalls. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-15-richard.henderson@linaro.org>
-
Richard Henderson authored
We build with _FILE_OFFSET_BITS=64, so off_t = off64_t = uint64_t. With an extra cast, this fixes emulation of mmap2, which could overflow the computation of the full value of offset. Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-14-richard.henderson@linaro.org>
-
Richard Henderson authored
Split out from validate_prot_to_pageflags, as there is not one single host_prot for the entire range. We need to adjust prot for every host page that overlaps multiple guest pages. Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-13-richard.henderson@linaro.org>
-
Richard Henderson authored
Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-12-richard.henderson@linaro.org>
-
Richard Henderson authored
The previous check returned -1 when any page within [start, start+len) is unmapped, not when all are unmapped. Cc: Warner Losh <imp@bsdimp.com> Cc: Kyle Evans <kevans@freebsd.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Reviewed-by:
Warner Losh <imp@bsdimp.com> Message-Id: <20230707204054.8792-11-richard.henderson@linaro.org>
-
Richard Henderson authored
Examine the interval tree to validate that a region has no existing mappings. Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-10-richard.henderson@linaro.org>
-
Richard Henderson authored
Fix translation of TARGET_MAP_SHARED and TARGET_MAP_PRIVATE, which are types not single bits. Add TARGET_MAP_SHARED_VALIDATE, TARGET_MAP_SYNC, TARGET_MAP_NONBLOCK, TARGET_MAP_POPULATE, TARGET_MAP_FIXED_NOREPLACE, and TARGET_MAP_UNINITIALIZED. Update strace to match. Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230707204054.8792-9-richard.henderson@linaro.org>
-