[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] linux-user/hppa: Fix segfaults on page zero
|
From: |
Peter Maydell |
|
Subject: |
Re: [PATCH v2] linux-user/hppa: Fix segfaults on page zero |
|
Date: |
Mon, 18 Jul 2022 17:50:44 +0100 |
On Mon, 18 Jul 2022 at 17:44, Helge Deller <deller@gmx.de> wrote:
>
> This program:
>
> int main(void) { asm("bv %r0(%r0)"); return 0; }
>
> produces on real hppa hardware the expected segfault:
>
> SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x3} ---
> killed by SIGSEGV +++
> Segmentation fault
>
> But when run on linux-user you get instead internal qemu errors:
>
> ERROR: linux-user/hppa/cpu_loop.c:172:cpu_loop: code should not be reached
> Bail out! ERROR: linux-user/hppa/cpu_loop.c:172:cpu_loop: code should not be
> reached
> ERROR: accel/tcg/cpu-exec.c:933:cpu_exec: assertion failed: (cpu ==
> current_cpu)
> Bail out! ERROR: accel/tcg/cpu-exec.c:933:cpu_exec: assertion failed: (cpu ==
> current_cpu)
>
> Fix it by adding the missing case for the EXCP_IMP trap in
> cpu_loop() and raise a segfault.
>
> Signed-off-by: Helge Deller <deller@gmx.de>
> ---
> Changes:
>
> v2: Dropped the "+++" in the commit message - it confused b4 and git-am.
> no functional changes.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM