OpenCloudOS-Kernel/arch/arm64/include/uapi/asm
Dave Martin 8ef8f360cf arm64: Basic Branch Target Identification support
This patch adds the bare minimum required to expose the ARMv8.5
Branch Target Identification feature to userspace.

By itself, this does _not_ automatically enable BTI for any initial
executable pages mapped by execve().  This will come later, but for
now it should be possible to enable BTI manually on those pages by
using mprotect() from within the target process.

Other arches already using the generic mman.h are already using
0x10 for arch-specific prot flags, so we use that for PROT_BTI
here.

For consistency, signal handler entry points in BTI guarded pages
are required to be annotated as such, just like any other function.
This blocks a relatively minor attack vector, but comforming
userspace will have the annotations anyway, so we may as well
enforce them.

Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2020-03-16 17:19:48 +00:00
..
Kbuild kbuild: force all architectures except um to include mandatory-y 2019-03-17 12:56:32 +09:00
auxvec.h arm64: signal: Report signal frame size to userspace via auxv 2018-06-01 15:53:10 +01:00
bitsperlong.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
bpf_perf_event.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
byteorder.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
fcntl.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
hwcap.h arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
kvm.h arm64: KVM: Add UAPI notes for swapped registers 2020-01-23 10:38:14 +00:00
mman.h arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
param.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
perf_regs.h License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
posix_types.h License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
ptrace.h arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
setup.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
sigcontext.h It's been a relatively busy cycle for docs: 2019-07-09 12:34:26 -07:00
signal.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
statfs.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
sve_context.h arm64/sve: Disentangle <uapi/asm/ptrace.h> from <uapi/asm/sigcontext.h> 2019-01-04 13:31:45 +00:00
ucontext.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
unistd.h arm64: Move __ARCH_WANT_SYS_CLONE3 definition to uapi headers 2020-01-07 13:30:49 +01:00