linux/arch/arm64/kernel
Mark Brown bf740a905f arm64: vdso: Map the vDSO text with guarded pages when built for BTI
The kernel is responsible for mapping the vDSO into userspace processes,
including mapping the text section as executable. Handle the mapping of
the vDSO for BTI similarly, mapping the text section as guarded pages so
the BTI annotations in the vDSO become effective when they are present.

This will mean that we can have BTI active for the vDSO in processes that
do not otherwise support BTI. This should not be an issue for any expected
use of the vDSO.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20200506195138.22086-12-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2020-05-07 17:53:20 +01:00
..
probes Merge branches 'for-next/asm' and 'for-next/insn' into for-next/bti 2020-05-05 15:19:09 +01:00
vdso arm64: vdso: Force the vDSO to be linked as BTI when built for BTI 2020-05-07 17:53:20 +01:00
vdso32 SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
acpi_numa.c acpi: Create subtable parsing infrastructure 2019-04-04 18:41:12 +02:00
acpi_parking_protocol.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
acpi.c arm64: acpi: fix DAIF manipulation with pNMI 2020-01-22 14:41:22 +00:00
alternative.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
armv8_deprecated.c arm64: armv8_deprecated: Fix undef_hook mask for thumb setend 2020-04-08 18:19:20 +01:00
asm-offsets.c arm64: initialize and switch ptrauth kernel keys 2020-03-18 09:50:20 +00:00
cacheinfo.c arm64 updates for 5.3: 2019-07-08 09:54:55 -07:00
cpu_errata.c arm64: Mark call_smc_arch_workaround_1 as __maybe_unused 2020-03-11 12:01:59 +00:00
cpu_ops.c arm64: Introduce get_cpu_ops() helper function 2020-03-24 17:24:19 +00:00
cpu-reset.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cpu-reset.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
cpufeature.c arm64: Set GP bit in kernel page tables to enable BTI for the kernel 2020-05-07 17:53:20 +01:00
cpuidle.c arm64: Introduce get_cpu_ops() helper function 2020-03-24 17:24:19 +00:00
cpuinfo.c arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
crash_core.c arm64: kernel: arch_crash_save_vmcoreinfo() should depend on CONFIG_CRASH_CORE 2018-09-11 11:08:49 +01:00
crash_dump.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
debug-monitors.c arm64: Remove unneeded rcu_read_lock from debug handlers 2019-08-01 15:00:27 +01:00
efi-entry.S efi/arm64: Clean EFI stub exit code from cache instead of avoiding it 2020-02-29 10:16:57 +01:00
efi-header.S efi/libstub: Introduce symbolic constants for the stub major/minor version 2020-02-23 21:59:42 +01:00
efi-rt-wrapper.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
efi.c mm/pgtable: drop pgtable_t variable from pte_fn_t functions 2019-07-12 11:05:46 -07:00
entry-common.c Merge branch 'for-next/bti-user' into for-next/bti 2020-05-05 15:15:58 +01:00
entry-fpsimd.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
entry-ftrace.S arm64: entry-ftrace.S: Fix missing argument for CONFIG_FUNCTION_GRAPH_TRACER=y 2020-03-11 11:06:48 +00:00
entry.S arm64: entry: Refactor and modernise annotation for ret_to_user 2020-05-04 12:46:03 +01:00
fpsimd.c arm64: nofpsmid: Handle TIF_FOREIGN_FPSTATE flag cleanly 2020-01-14 17:11:53 +00:00
ftrace.c arm64: ftrace: minimize ifdeffery 2019-11-06 14:17:36 +00:00
head.S Merge branch 'for-next/kernel-ptrauth' into for-next/core 2020-03-25 11:11:08 +00:00
hibernate-asm.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
hibernate.c arm64: hibernate: Use bringup_hibernate_cpu() 2020-03-25 12:59:34 +01:00
hw_breakpoint.c Printk changes for 5.5 2019-11-25 19:40:40 -08:00
hyp-stub.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
image-vars.h efi/arm64: Clean EFI stub exit code from cache instead of avoiding it 2020-02-29 10:16:57 +01:00
image.h arm64/efi: Move variable assignments after SECTIONS 2019-08-14 17:18:15 +01:00
insn.c arm64: insn: Report PAC and BTI instructions as skippable 2020-05-04 16:06:29 +01:00
io.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
irq.c arm64 updates for 5.3: 2019-07-08 09:54:55 -07:00
jump_label.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
kaslr.c arm64: Fix CONFIG_ARCH_RANDOM=n build 2020-02-11 09:47:01 +00:00
kexec_image.c arm64: kexec_file: add crash dump support 2020-01-08 17:05:23 +00:00
kgdb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
kuser32.S docs: arm: convert docs to ReST and rename to *.rst 2019-07-15 09:20:24 -03:00
machine_kexec_file.c arm64: kexec_file: Fixed code style. 2020-03-17 18:23:20 +00:00
machine_kexec.c Revert "arm64: kexec: make dtb_mem always enabled" 2020-01-10 16:00:50 +00:00
Makefile arm64: efi: add efi-entry.o to targets instead of extra-$(CONFIG_EFI) 2020-03-09 18:13:25 +00:00
module-plts.c arm64: implement ftrace with regs 2019-11-06 14:17:35 +00:00
module.c arm64: implement ftrace with regs 2019-11-06 14:17:35 +00:00
module.lds arm64: ftrace: emit ftrace-mod.o contents through code 2017-12-01 13:04:59 +00:00
paravirt.c arm64: Retrieve stolen time as paravirtualized guest 2019-10-21 19:20:31 +01:00
pci.c pci-v5.3-changes 2019-07-15 20:44:49 -07:00
perf_callchain.c arm64: stacktrace: Factor out backtrace initialisation 2019-07-22 11:44:08 +01:00
perf_event.c arm64: perf: Add support for ARMv8.5-PMU 64-bit counters 2020-03-17 22:50:30 +00:00
perf_regs.c compat: Move compat_timespec/ timeval to compat_time.h 2018-04-19 13:29:54 +02:00
pointer_auth.c arm64: install user ptrauth keys at kernel exit time 2020-03-18 09:50:19 +00:00
process.c Merge branch 'for-next/bti-user' into for-next/bti 2020-05-05 15:15:58 +01:00
psci.c arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill() 2019-10-25 16:29:11 +01:00
ptrace.c Merge branch 'for-next/bti-user' into for-next/bti 2020-05-05 15:15:58 +01:00
reloc_test_core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
reloc_test_syms.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
relocate_kernel.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
return_address.c arm64: unwind: Prohibit probing on return_address() 2019-08-01 15:00:26 +01:00
sdei.c firmware: arm_sdei: use common SMCCC_CONDUIT_* 2019-10-14 10:55:14 +01:00
setup.c arm64: Introduce get_cpu_ops() helper function 2020-03-24 17:24:19 +00:00
signal32.c arm64: signal: nofpsimd: Handle fp/simd context for signal frames 2020-01-14 17:11:46 +00:00
signal.c arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
sigreturn32.S arm64: compat: Split kuser32 2019-04-23 18:01:57 +01:00
sleep.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
smccc-call.S arm64: kernel: Convert to modern annotations for assembly functions 2020-05-04 12:46:03 +01:00
smp_spin_table.c arm64: prefer __section from compiler_attributes.h 2019-08-13 18:32:15 +01:00
smp.c arm64 updates for 5.7: 2020-03-31 10:05:01 -07:00
ssbd.c Return ENODEV when the selected speculation misfeature is unsupported 2020-01-08 17:27:41 +00:00
stacktrace.c arm64: unwind: strip PAC from kernel addresses 2020-03-18 09:50:20 +00:00
suspend.c arm64: mm: Support Common Not Private translations 2018-09-18 12:02:27 +01:00
sys32.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 452 2019-06-19 17:09:08 +02:00
sys_compat.c arm64: Silence clang warning on mismatched value/register sizes 2019-10-28 09:13:21 +00:00
sys.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
syscall.c arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
time.c arm64: time: Replace <linux/clk-provider.h> by <linux/of_clk.h> 2020-02-12 17:26:38 +00:00
topology.c arm64: use activity monitors for frequency invariance 2020-03-06 16:02:50 +00:00
trace-events-emulation.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
traps.c arm64: BTI: Reset BTYPE when skipping emulated instructions 2020-03-16 17:19:49 +00:00
vdso.c arm64: vdso: Map the vDSO text with guarded pages when built for BTI 2020-05-07 17:53:20 +01:00
vmlinux.lds.S arm64 updates for 5.5: 2019-12-06 14:18:01 -08:00