qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 00/15] tcg patch queue


From: Richard Henderson
Subject: Re: [PULL 00/15] tcg patch queue
Date: Fri, 31 Mar 2023 10:20:24 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0

On 3/30/23 03:37, Joel Stanley wrote:
On Tue, 28 Mar 2023 at 22:59, Richard Henderson
<richard.henderson@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~




reply via email to

[Prev in Thread] Current Thread [Next in Thread]