On 3/30/23 03:37, Joel Stanley wrote:
On Tue, 28 Mar 2023 at 22:59, Richard Henderson
<richard.hender...@linaro.org> wrote:
The following changes since commit d37158bb2425e7ebffb167d611be01f1e9e6c86f:
Update version for v8.0.0-rc2 release (2023-03-28 20:43:21 +0100)
are available in the Git repository at:
https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20230328
for you to fetch changes up to 87e303de70f93bf700f58412fb9b2c3ec918c4b5:
softmmu: Restore use of CPU watchpoint for all accelerators (2023-03-28
15:24:06 -0700)
----------------------------------------------------------------
Use a local version of GTree [#285]
Fix page_set_flags vs the last page of the address space [#1528]
Re-enable gdbstub breakpoints under KVM
----------------------------------------------------------------
Emilio Cota (2):
util: import GTree as QTree
tcg: use QTree instead of GTree
Philippe Mathieu-Daudé (3):
softmmu: Restrict cpu_check_watchpoint / address_matches to TCG accel
softmmu/watchpoint: Add missing 'qemu/error-report.h' include
softmmu: Restore use of CPU watchpoint for all accelerators
Richard Henderson (10):
linux-user: Diagnose misaligned -R size
accel/tcg: Pass last not end to page_set_flags
accel/tcg: Pass last not end to page_reset_target_data
accel/tcg: Pass last not end to PAGE_FOR_EACH_TB
accel/tcg: Pass last not end to page_collection_lock
accel/tcg: Pass last not end to tb_invalidate_phys_page_range__locked
accel/tcg: Pass last not end to tb_invalidate_phys_range
linux-user: Pass last not end to probe_guest_base
include/exec: Change reserved_va semantics to last byte
linux-user/arm: Take more care allocating commpage
Thanks for getting these fixes merged.
This last one (4f5c67f8df7f26e559509c68c45e652709edd23f) causes a
regression for me. On ppc64le, qemu-arm now segfaults. If I revert
this one I can run executables without the assert.
The segfault looks like this:
#0 0x00000001001e44fc in stl_he_p (v=5, ptr=0x240450ffc) at
/home/joel/qemu/include/qemu/bswap.h:260
#1 stl_le_p (v=5, ptr=0x240450ffc) at /home/joel/qemu/include/qemu/bswap.h:302
#2 init_guest_commpage () at ../linux-user/elfload.c:460
#3 probe_guest_base (image_name=image_name@entry=0x1003c72e0
<real_exec_path> "/home/joel/hello",
guest_loaddr=guest_loaddr@entry=65536,
guest_hiaddr=guest_hiaddr@entry=17411743) at
../linux-user/elfload.c:2818
#4 0x00000001001e50d4 in load_elf_image (image_name=0x1003c72e0
<real_exec_path> "/home/joel/hello",
image_fd=<optimised out>, info=info@entry=0x7fffffffe7e8,
pinterp_name=pinterp_name@entry=0x7fffffffe558,
bprm_buf=bprm_buf@entry=0x7fffffffe8d0 "\177ELF\001\001\001") at
../linux-user/elfload.c:3108
#5 0x00000001001e5434 in load_elf_binary (bprm=0x7fffffffe8d0,
info=0x7fffffffe7e8) at ../linux-user/elfload.c:3548
#6 0x00000001001e85bc in loader_exec (fdexec=<optimised out>,
filename=<optimised out>, argv=<optimised out>,
envp=<optimised out>, regs=0x7fffffffe888, infop=0x7fffffffe7e8,
bprm=0x7fffffffe8d0) at ../linux-user/linuxload.c:155
#7 0x0000000100046c7c in main (argc=<optimised out>,
argv=0x7ffffffff1c8, envp=<optimised out>) at ../linux-user/main.c:892
Gah! I've exposed the same sort of overflow conditions within target_mmap and friends. I
think the only short-term solution for 8.0 is to revert the last patch.
r~