[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 0/6] linux-user/aarch64: Support PROT_BTI
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v6 0/6] linux-user/aarch64: Support PROT_BTI |
Date: |
Wed, 5 Jun 2019 15:57:00 -0500 |
Dave Martin has recently posted a kernel patch set for
supporting ARMv8.5 Branch Target Identification in userland.
http://lists.infradead.org/pipermail/linux-arm-kernel/2019-May/654654.html
While that support is not yet in the upstream kernel, it looks
to be close to its final form. Note that the patch set spells
this PROT_BTI_GUARDED, but review suggested to rename to PROT_BTI.
Changes since v5:
* New function to validate the target PROT parameter for mmap/mprotect.
* Require BTI in the cpu for PROT_BTI set.
* Set PSTATE.BTYPE=2 for the signal handler.
Adjust the smoke test to match.
* Tidy up the note parsing.
r~
Richard Henderson (6):
linux-user/aarch64: Reset btype for syscalls and signals
linux-user: Validate mmap/mprotect prot value
linux-user: Set PAGE_TARGET_1 for TARGET_PROT_BTI
include/elf: Add defines related to notes for GNU systems
linux-user: Parse NT_GNU_PROPERTY_TYPE_0 notes
tests/tcg/aarch64: Add bti smoke test
include/elf.h | 48 ++++++++++++
include/exec/cpu-all.h | 2 +
linux-user/syscall_defs.h | 4 +
linux-user/aarch64/cpu_loop.c | 7 ++
linux-user/aarch64/signal.c | 10 ++-
linux-user/elfload.c | 83 ++++++++++++++++++--
linux-user/mmap.c | 122 ++++++++++++++++++++++--------
target/arm/translate-a64.c | 6 +-
tests/tcg/aarch64/bti-1.c | 77 +++++++++++++++++++
tests/tcg/aarch64/bti-crt.inc.c | 69 +++++++++++++++++
tests/tcg/aarch64/Makefile.target | 3 +
11 files changed, 387 insertions(+), 44 deletions(-)
create mode 100644 tests/tcg/aarch64/bti-1.c
create mode 100644 tests/tcg/aarch64/bti-crt.inc.c
--
2.17.1
- [Qemu-devel] [PATCH v6 0/6] linux-user/aarch64: Support PROT_BTI,
Richard Henderson <=
- [Qemu-devel] [PATCH v6 1/6] linux-user/aarch64: Reset btype for syscalls and signals, Richard Henderson, 2019/06/05
- [Qemu-devel] [PATCH v6 3/6] linux-user: Set PAGE_TARGET_1 for TARGET_PROT_BTI, Richard Henderson, 2019/06/05
- [Qemu-devel] [PATCH v6 2/6] linux-user: Validate mmap/mprotect prot value, Richard Henderson, 2019/06/05
- [Qemu-devel] [PATCH v6 4/6] include/elf: Add defines related to notes for GNU systems, Richard Henderson, 2019/06/05
- [Qemu-devel] [PATCH v6 5/6] linux-user: Parse NT_GNU_PROPERTY_TYPE_0 notes, Richard Henderson, 2019/06/05