22.08.2024 12:50, Philippe Mathieu-Daudé wrote:
load_flt_binary() calls load_flat_file() -> page_set_flags().

page_set_flags() must be called with the mmap_lock held,
otherwise it aborts:

   $ qemu-arm -L stm32/lib/ stm32/bin/busybox
   qemu-arm: ../accel/tcg/user-exec.c:505: page_set_flags: Assertion 
`have_mmap_lock()' failed.
   Aborted (core dumped)

Fix by taking the lock in load_flt_binary().

Fixes: fbd3c4cff6 ("linux-user/arm: Mark the commpage executable")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2525

This one seems like it should go to -stable, is it not?

Thanks,

/mjt

Reply via email to