On Fri, Dec 18, 2020 at 1:55 PM <i...@freebsd.org> wrote:

> From: Sean Bruno <sbr...@freebsd.org>
>
> FreeBSD can generate a trap 0xc as well as 0xe when writing to a
> read-only page.
>
> Signed-off-by: Juergen Lock <n...@freebsd.org>
> [imp rewored commit message for clarity]
> Signed-off-by: Warner Losh <i...@freebsd.org>
> ---
>  accel/tcg/user-exec.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c
> index 4ebe25461a..1f5befa9f9 100644
> --- a/accel/tcg/user-exec.c
> +++ b/accel/tcg/user-exec.c
> @@ -343,7 +343,13 @@ int cpu_signal_handler(int host_signum, void *pinfo,
>
>      pc = PC_sig(uc);
>      return handle_cpu_signal(pc, info,
> -                             TRAP_sig(uc) == 0xe ? (ERROR_sig(uc) >> 1) &
> 1 : 0,
> +#if defined(__FreeBSD__) || defined(__DragonFly__)
> +                             (TRAP_sig(uc) == 0xe ||
> +                              TRAP_sig(uc) == 0xc) ?
> +#else
> +                             TRAP_sig(uc) == 0xe ?
> +#endif
> +                             (ERROR_sig(uc) >> 1) & 1 : 0,
>

I'd like to withdraw this patch. After I posted it I talked to our x86
expert and he's convinced it's bogus.

We'll run without it for a while and see if we need to revisit this or not.
But for now, please don't consider this change.

Warner


>                               &MASK_sig(uc));
>  }
>
> --
> 2.22.1
>
>

Reply via email to