Message ID | 20220819032615.884847-15-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | linux-user: Fix siginfo_t contents when jumping to non-readable pages | expand |
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 > >
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 */
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> --- accel/tcg/cpu-exec.c | 2 +- accel/tcg/translate-all.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)