[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 14/21] accel/tcg: Raise PROT_EXEC exception early
From: |
Alistair Francis |
Subject: |
Re: [PATCH v6 14/21] accel/tcg: Raise PROT_EXEC exception early |
Date: |
Mon, 22 Aug 2022 09:40:40 +1000 |
On Fri, Aug 19, 2022 at 1:40 PM Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> We currently ignore PROT_EXEC on the initial lookup, and
> defer raising the exception until cpu_ld*_code().
> It makes more sense to raise the exception early.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> accel/tcg/cpu-exec.c | 2 +-
> accel/tcg/translate-all.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
> index 7887af6f45..7b8977a0a4 100644
> --- a/accel/tcg/cpu-exec.c
> +++ b/accel/tcg/cpu-exec.c
> @@ -222,7 +222,7 @@ static TranslationBlock *tb_htable_lookup(CPUState *cpu,
> target_ulong pc,
> desc.cflags = cflags;
> desc.trace_vcpu_dstate = *cpu->trace_dstate;
> desc.pc = pc;
> - phys_pc = get_page_addr_code(desc.env, pc);
> + phys_pc = get_page_addr_code_hostp(desc.env, pc, false, NULL);
> if (phys_pc == -1) {
> return NULL;
> }
> diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
> index b83161a081..069ed67bac 100644
> --- a/accel/tcg/translate-all.c
> +++ b/accel/tcg/translate-all.c
> @@ -1396,7 +1396,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu,
> assert_memory_lock();
> qemu_thread_jit_write();
>
> - phys_pc = get_page_addr_code(env, pc);
> + phys_pc = get_page_addr_code_hostp(env, pc, false, NULL);
>
> if (phys_pc == -1) {
> /* Generate a one-shot TB with 1 insn in it */
> --
> 2.34.1
>
>
- [PATCH v6 11/21] accel/tcg: Move qemu_ram_addr_from_host_nofail to physmem.c, (continued)
- [PATCH v6 11/21] accel/tcg: Move qemu_ram_addr_from_host_nofail to physmem.c, Richard Henderson, 2022/08/18
- [PATCH v6 13/21] accel/tcg: Add nofault parameter to get_page_addr_code_hostp, Richard Henderson, 2022/08/18
- [PATCH v6 15/21] accel/tcg: Remove translator_ldsw, Richard Henderson, 2022/08/18
- [PATCH v6 12/21] accel/tcg: Use probe_access_internal for softmmu get_page_addr_code_hostp, Richard Henderson, 2022/08/18
- [PATCH v6 10/21] accel/tcg: Make tb_htable_lookup static, Richard Henderson, 2022/08/18
- [PATCH v6 14/21] accel/tcg: Raise PROT_EXEC exception early, Richard Henderson, 2022/08/18
- Re: [PATCH v6 14/21] accel/tcg: Raise PROT_EXEC exception early,
Alistair Francis <=
- [PATCH v6 18/21] target/s390x: Make translator stop before the end of a page, Richard Henderson, 2022/08/18
- [PATCH v6 16/21] accel/tcg: Add pc and host_pc params to gen_intermediate_code, Richard Henderson, 2022/08/18
- [PATCH v6 19/21] target/i386: Make translator stop before the end of a page, Richard Henderson, 2022/08/18
- [PATCH v6 17/21] accel/tcg: Add fast path for translator_ld*, Richard Henderson, 2022/08/18
- [PATCH v6 08/21] accel/tcg: Properly implement get_page_addr_code for user-only, Richard Henderson, 2022/08/18
- [PATCH v6 21/21] target/riscv: Make translator stop before the end of a page, Richard Henderson, 2022/08/18