android_kernel_oneplus_msm8998/arch/arm64/kernel
Ard Biesheuvel 08d870c51e arm64/kernel: fix incorrect EL0 check in inv_entry macro
[ Upstream commit b660950c60a7278f9d8deb7c32a162031207c758 ]

The implementation of macro inv_entry refers to its 'el' argument without
the required leading backslash, which results in an undefined symbol
'el' to be passed into the kernel_entry macro rather than the index of
the exception level as intended.

This undefined symbol strangely enough does not result in build failures,
although it is visible in vmlinux:

     $ nm -n vmlinux |head
                      U el
     0000000000000000 A _kernel_flags_le_hi32
     0000000000000000 A _kernel_offset_le_hi32
     0000000000000000 A _kernel_size_le_hi32
     000000000000000a A _kernel_flags_le_lo32
     .....

However, it does result in incorrect code being generated for invalid
exceptions taken from EL0, since the argument check in kernel_entry
assumes EL1 if its argument does not equal '0'.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-04-03 06:23:23 +02:00
..
vdso arm64: build vdso without libgcov 2015-11-12 15:18:07 +00:00
.gitignore arm64: Build infrastructure 2012-09-17 13:42:21 +01:00
acpi.c Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
alternative.c arm64: alternatives: ensure secondary CPUs execute ISB after patching 2015-08-04 18:52:09 +01:00
arm64ksyms.c arm64: add KASAN support 2015-10-12 17:46:36 +01:00
armv8_deprecated.c arm64: armv8_deprecated: ensure extension of addr 2017-06-14 13:16:27 +02:00
asm-offsets.c arm64: kernel: Save and restore UAO and addr_limit on exception entry 2016-08-20 18:09:16 +02:00
cacheinfo.c arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cpu_errata.c arm64: Add workaround for Cavium erratum 27456 2016-09-15 08:27:44 +02:00
cpu_ops.c arm64: force CONFIG_SMP=y and remove redundant #ifdefs 2015-07-27 11:08:40 +01:00
cpufeature.c arm64: cpufeature: Track 32bit EL0 support 2018-10-10 08:52:09 +02:00
cpuidle.c arm64: cpuidle: add __init section marker to arm_cpuidle_init 2015-07-02 17:44:27 +01:00
cpuinfo.c arm64: Provide "model name" in /proc/cpuinfo for PER_LINUX32 tasks 2016-06-24 10:18:19 -07:00
debug-monitors.c arm64: debug: avoid resetting stepping state machine when TIF_SINGLESTEP 2016-10-07 15:23:42 +02:00
efi-entry.S arm64/efi: isolate EFI stub from the kernel proper 2015-10-12 16:20:12 +01:00
efi.c arm64: efi: fix initcall return values 2015-11-26 18:15:54 +00:00
entry-fpsimd.S arm64: fpsimd: fix a typo in fpsimd_save_partial_state ENDPROC 2014-07-31 11:42:42 +01:00
entry-ftrace.S arm64: ftrace: don't adjust the LR value 2019-02-20 10:13:07 +01:00
entry.S arm64/kernel: fix incorrect EL0 check in inv_entry macro 2019-04-03 06:23:23 +02:00
entry32.S arm64: entry32: remove pointless register assignment 2015-07-10 16:47:13 +01:00
fpsimd.c arm64: fpsimd: Prevent registers leaking across exec 2017-09-02 07:06:52 +02:00
ftrace.c arm64: ftrace: fix ftrace_modify_graph_caller for branch replace 2015-02-23 09:13:45 +00:00
head.S arm64: Relax GIC version check during early boot 2019-03-23 08:44:34 +01:00
hw_breakpoint.c arm64: hw_breakpoint: fix watchpoint matching for tagged pointers 2017-06-14 13:16:27 +02:00
hyp-stub.S arm64: hyp-stub: Forbid kprobing of the hyp-stub 2019-02-06 19:43:07 +01:00
image.h arm64: hide __efistub_ aliases from kallsyms 2019-04-03 06:23:21 +02:00
insn.c arm64: convert patch_lock to raw lock 2015-10-05 18:30:29 +01:00
io.c arm64: optimize memcpy_{from,to}io() and memset_io() 2014-11-06 17:25:27 +00:00
irq.c arm64: fix a migrating irq bug when hotplug cpu 2015-10-09 17:40:35 +01:00
jump_label.c jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} 2015-08-03 11:34:12 +02:00
kgdb.c arm64/debug: Simplify BRK insn opcode declarations 2015-07-27 11:08:42 +01:00
kuser32.S arm64: Add __NR_* definitions for compat syscalls 2014-07-10 11:02:40 +01:00
Makefile arm64/efi: move arm64 specific stub C code to libstub 2015-10-30 16:02:52 +00:00
module.c arm64: add KASAN support 2015-10-12 17:46:36 +01:00
pci.c ARM64: PCI: do not enable resources on PROBE_ONLY systems 2015-07-30 20:17:07 +01:00
perf_callchain.c arm64: perf: factor out callchain code 2015-07-27 11:08:39 +01:00
perf_event.c arm64: perf: set suppress_bind_attrs flag to true 2019-01-26 09:42:53 +01:00
perf_regs.c perf: Move task_pt_regs sampling into arch code 2015-01-09 11:12:28 +01:00
process.c arm64: fpsimd: Prevent registers leaking from dead tasks 2017-12-16 10:33:50 +01:00
psci-call.S arm64: psci: move psci firmware calls out of line 2015-02-26 18:23:53 +00:00
psci.c drivers: firmware: psci: move power_state handling to generic code 2015-10-02 14:35:16 +01:00
ptrace.c arm64/ptrace: Reject attempts to set incomplete hardware breakpoint fields 2017-01-26 08:23:49 +01:00
return_address.c arm64: LLVMLinux: Use global stack pointer in return_address() 2014-09-08 14:39:19 +01:00
setup.c arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
signal.c arm64: Rework valid_user_regs 2016-07-27 09:47:33 -07:00
signal32.c arm64: Rework valid_user_regs 2016-07-27 09:47:33 -07:00
sleep.S arm64: mm: ensure patched kernel text is fetched from PoU 2015-08-05 10:05:20 +01:00
smp.c arm64: make secondary_start_kernel() notrace 2018-08-24 13:26:55 +02:00
smp_spin_table.c ARM64: kernel: make cpu_ops hooks DT agnostic 2015-05-19 16:09:29 +01:00
stacktrace.c Revert "ARM64: unwind: Fix PC calculation" 2015-10-28 17:07:07 +00:00
suspend.c arm64: suspend: Reconfigure PSTATE after resume from idle 2016-12-08 07:15:25 +01:00
sys.c arm64: make sys_call_table const 2015-01-27 09:38:08 +00:00
sys32.c arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
sys_compat.c arm64: compat: align cacheflush syscall with arch/arm 2014-12-01 13:31:12 +00:00
time.c clocksource: cosmetic: Drop OF 'dependency' from symbols 2015-10-01 02:18:39 +02:00
topology.c arm64: kernel: remove non-legit DT warnings when booting using ACPI 2015-07-27 11:08:41 +01:00
trace-events-emulation.h arm64: Trace emulation of AArch32 legacy instructions 2014-11-20 16:35:02 +00:00
traps.c arm64: traps: disable irq in die() 2019-04-03 06:23:19 +02:00
vdso.c arm64: VDSO: fix coarse clock monotonicity regression 2015-08-10 15:37:45 +01:00
vmlinux.lds.S arm64: update linker script to increased L1_CACHE_BYTES value 2015-12-07 17:22:24 +00:00