qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-7.2 00/21] accel/tcg: minimize tlb lookups during translate + user-only PROT_EXEC fixes
@ 2022-08-12 18:07 Richard Henderson
  2022-08-12 18:07 ` [PATCH for-7.2 01/21] linux-user/arm: Mark the commpage executable Richard Henderson
                   ` (21 more replies)
  0 siblings, 22 replies; 32+ messages in thread
From: Richard Henderson @ 2022-08-12 18:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: laurent, iii, alex.bennee

This is part of a larger body of work, but in the process of
reorganizing I was reminded that PROT_EXEC wasn't being enforced
properly for user-only.  As this has come up in the context of
some of Ilya's patches, I thought I'd go ahead and post this part.


r~


Ilya Leoshkevich (1):
  accel/tcg: Introduce is_same_page()

Richard Henderson (20):
  linux-user/arm: Mark the commpage executable
  linux-user/hppa: Allocate page zero as a commpage
  linux-user/x86_64: Allocate vsyscall page as a commpage
  linux-user: Honor PT_GNU_STACK
  tests/tcg/i386: Move smc_code2 to an executable section
  accel/tcg: Remove PageDesc code_bitmap
  accel/tcg: Use bool for page_find_alloc
  accel/tcg: Merge tb_htable_lookup into caller
  accel/tcg: Move qemu_ram_addr_from_host_nofail to physmem.c
  accel/tcg: Properly implement get_page_addr_code for user-only
  accel/tcg: Use probe_access_internal for softmmu
    get_page_addr_code_hostp
  accel/tcg: Add nofault parameter to get_page_addr_code_hostp
  accel/tcg: Unlock mmap_lock after longjmp
  accel/tcg: Hoist get_page_addr_code out of tb_lookup
  accel/tcg: Hoist get_page_addr_code out of tb_gen_code
  accel/tcg: Raise PROT_EXEC exception early
  accel/tcg: Remove translator_ldsw
  accel/tcg: Add pc and host_pc params to gen_intermediate_code
  accel/tcg: Add fast path for translator_ld*
  accel/tcg: Use DisasContextBase in plugin_gen_tb_start

 accel/tcg/internal.h          |   7 +-
 include/elf.h                 |   1 +
 include/exec/cpu-common.h     |   1 +
 include/exec/exec-all.h       |  87 +++++-----------
 include/exec/plugin-gen.h     |   7 +-
 include/exec/translator.h     |  85 ++++++++++++----
 linux-user/arm/target_cpu.h   |   4 +-
 linux-user/qemu.h             |   1 +
 accel/tcg/cpu-exec.c          | 184 ++++++++++++++++++----------------
 accel/tcg/cputlb.c            |  93 +++++------------
 accel/tcg/plugin-gen.c        |  23 +++--
 accel/tcg/translate-all.c     | 120 ++++------------------
 accel/tcg/translator.c        | 122 +++++++++++++++++-----
 accel/tcg/user-exec.c         |  15 +++
 linux-user/elfload.c          |  80 ++++++++++++++-
 softmmu/physmem.c             |  12 +++
 target/alpha/translate.c      |   5 +-
 target/arm/translate.c        |   5 +-
 target/avr/translate.c        |   5 +-
 target/cris/translate.c       |   5 +-
 target/hexagon/translate.c    |   6 +-
 target/hppa/translate.c       |   5 +-
 target/i386/tcg/translate.c   |   7 +-
 target/loongarch/translate.c  |   6 +-
 target/m68k/translate.c       |   5 +-
 target/microblaze/translate.c |   5 +-
 target/mips/tcg/translate.c   |   5 +-
 target/nios2/translate.c      |   5 +-
 target/openrisc/translate.c   |   6 +-
 target/ppc/translate.c        |   5 +-
 target/riscv/translate.c      |   5 +-
 target/rx/translate.c         |   5 +-
 target/s390x/tcg/translate.c  |   5 +-
 target/sh4/translate.c        |   5 +-
 target/sparc/translate.c      |   5 +-
 target/tricore/translate.c    |   6 +-
 target/xtensa/translate.c     |   6 +-
 tests/tcg/i386/test-i386.c    |   2 +-
 38 files changed, 532 insertions(+), 424 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2022-08-17 16:26 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-12 18:07 [PATCH for-7.2 00/21] accel/tcg: minimize tlb lookups during translate + user-only PROT_EXEC fixes Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 01/21] linux-user/arm: Mark the commpage executable Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 02/21] linux-user/hppa: Allocate page zero as a commpage Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 03/21] linux-user/x86_64: Allocate vsyscall page " Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 04/21] linux-user: Honor PT_GNU_STACK Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 05/21] tests/tcg/i386: Move smc_code2 to an executable section Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 06/21] accel/tcg: Remove PageDesc code_bitmap Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 07/21] accel/tcg: Use bool for page_find_alloc Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 08/21] accel/tcg: Merge tb_htable_lookup into caller Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 09/21] accel/tcg: Move qemu_ram_addr_from_host_nofail to physmem.c Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 10/21] accel/tcg: Properly implement get_page_addr_code for user-only Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 11/21] accel/tcg: Use probe_access_internal for softmmu get_page_addr_code_hostp Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 12/21] accel/tcg: Add nofault parameter to get_page_addr_code_hostp Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 13/21] accel/tcg: Unlock mmap_lock after longjmp Richard Henderson
2022-08-12 18:07 ` [PATCH for-7.2 14/21] accel/tcg: Hoist get_page_addr_code out of tb_lookup Richard Henderson
2022-08-16 23:43   ` Ilya Leoshkevich
2022-08-17  1:42     ` Richard Henderson
2022-08-17 11:08       ` Ilya Leoshkevich
2022-08-17 13:15         ` Richard Henderson
2022-08-17 13:27           ` Ilya Leoshkevich
2022-08-17 13:38             ` Richard Henderson
2022-08-17 14:07               ` Ilya Leoshkevich
2022-08-17 16:07                 ` Richard Henderson
2022-08-17 13:42         ` Richard Henderson
2022-08-12 18:08 ` [PATCH for-7.2 15/21] accel/tcg: Hoist get_page_addr_code out of tb_gen_code Richard Henderson
2022-08-12 18:08 ` [PATCH for-7.2 16/21] accel/tcg: Raise PROT_EXEC exception early Richard Henderson
2022-08-12 18:08 ` [PATCH for-7.2 17/21] accel/tcg: Introduce is_same_page() Richard Henderson
2022-08-12 18:08 ` [PATCH for-7.2 18/21] accel/tcg: Remove translator_ldsw Richard Henderson
2022-08-12 18:08 ` [PATCH for-7.2 19/21] accel/tcg: Add pc and host_pc params to gen_intermediate_code Richard Henderson
2022-08-12 18:08 ` [PATCH for-7.2 20/21] accel/tcg: Add fast path for translator_ld* Richard Henderson
2022-08-12 18:08 ` [PATCH for-7.2 21/21] accel/tcg: Use DisasContextBase in plugin_gen_tb_start Richard Henderson
2022-08-16 23:12 ` [PATCH for-7.2 00/21] accel/tcg: minimize tlb lookups during translate + user-only PROT_EXEC fixes Ilya Leoshkevich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).