linux_dsm_epyc7002/arch/arm64/include/asm
Ard Biesheuvel 5a3ae7b314 arm64/ftrace: fix inadvertent BUG() in trampoline check
The ftrace trampoline code (which deals with modules loaded out of
BL range of the core kernel) uses plt_entries_equal() to check whether
the per-module trampoline equals a zero buffer, to decide whether the
trampoline has already been initialized.

This triggers a BUG() in the opcode manipulation code, since we end
up checking the ADRP offset of a 0x0 opcode, which is not an ADRP
instruction.

So instead, add a helper to check whether a PLT is initialized, and
call that from the frace code.

Cc: <stable@vger.kernel.org> # v5.0
Fixes: bdb85cd1d2 ("arm64/module: switch to ADRP/ADD sequences for PLT entries")
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2019-04-08 16:58:13 +01:00
..
xen arm64/xen: fix xen-swiotlb cache flushing 2019-01-23 22:14:56 +01:00
acenv.h
acpi.h arm64: KVM/mm: Move SEA handling behind a single 'claim' interface 2019-02-07 23:10:45 +01:00
alternative.h arm64: alternative: Apply alternatives early in boot process 2019-02-06 10:05:20 +00:00
arch_gicv3.h arm64: gic-v3: Implement arch support for priority masking 2019-02-06 10:05:21 +00:00
arch_timer.h
arm_dsu_pmu.h
arm-cci.h
asm-bug.h
asm-offsets.h
asm-prototypes.h arm64: asm-prototypes: Fix fat-fingered typo in comment 2019-01-10 11:11:46 +00:00
asm-uaccess.h arm64: Rename get_thread_info() 2019-02-26 16:57:59 +00:00
assembler.h arm64: Add workaround for Fujitsu A64FX erratum 010001 2019-02-28 16:24:25 +00:00
atomic_ll_sc.h Merge branch 'locking/atomics' into locking/core, to pick up WIP commits 2019-02-11 14:27:05 +01:00
atomic_lse.h Merge branch 'locking/atomics' into locking/core, to pick up WIP commits 2019-02-11 14:27:05 +01:00
atomic.h
barrier.h
bitops.h
bitrev.h
boot.h
brk-imm.h
bug.h
cache.h kasan, arm64: remove redundant ARCH_SLAB_MINALIGN define 2019-01-16 12:09:11 +00:00
cacheflush.h
checksum.h
clocksource.h
cmpxchg.h Merge branch 'locking/atomics' into locking/core, to pick up WIP commits 2019-02-11 14:27:05 +01:00
compat.h
cpu_ops.h
cpu.h
cpucaps.h arm64: cpufeature: Add cpufeature for IRQ priority masking 2019-02-06 10:05:17 +00:00
cpufeature.h arm64: alternative: Apply alternatives early in boot process 2019-02-06 10:05:20 +00:00
cpuidle.h
cputype.h arm64: Add MIDR encoding for HiSilicon Taishan CPUs 2019-03-19 14:55:10 +00:00
current.h
daifflags.h arm64 updates for 5.1: 2019-03-10 10:17:23 -07:00
dcc.h
debug-monitors.h
device.h arm64/xen: fix xen-swiotlb cache flushing 2019-01-23 22:14:56 +01:00
dma-mapping.h dma-mapping: add a kconfig symbol for arch_teardown_dma_ops availability 2019-02-13 19:12:50 +01:00
dmi.h
efi.h arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking 2019-02-06 10:05:19 +00:00
elf.h
esr.h
exception.h
exec.h
extable.h
fb.h
fixmap.h firmware: arm_sdei: Add ACPI GHES registration helper 2019-02-11 11:07:49 +01:00
fpsimd.h
fpsimdmacros.h
ftrace.h
futex.h Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
hardirq.h arm64: Fix HCR.TGE status for NMI contexts 2019-02-06 10:05:16 +00:00
hugetlb.h arm64/mm: enable HugeTLB migration for contiguous bit HugeTLB pages 2019-03-05 21:07:15 -08:00
hw_breakpoint.h
hwcap.h
hypervisor.h
image.h
insn.h
io.h arm64: io: Hook up __io_par() for inX() ordering 2019-02-28 17:24:27 +00:00
irq_work.h
irq.h
irqflags.h arm64: irqflags: Fix clang build warnings 2019-02-12 11:33:57 +00:00
jump_label.h
kasan.h
Kbuild
kernel-pgtable.h
kexec.h
kgdb.h
kprobes.h
kvm_arm.h
kvm_asm.h
kvm_coproc.h
kvm_emulate.h arm64: KVM: Describe data or unified caches as having 1 set and 1 way 2019-02-19 21:05:49 +00:00
kvm_host.h ARM: some cleanups, direct physical timer assignment, cache sanitization 2019-03-15 15:00:28 -07:00
kvm_hyp.h KVM: arm/arm64: Factor out VMID into struct kvm_vmid 2019-02-19 21:05:35 +00:00
kvm_mmio.h
kvm_mmu.h KVM: arm/arm64: vgic-its: Take the srcu lock when writing to guest memory 2019-03-19 17:56:56 +00:00
kvm_ras.h arm64: KVM/mm: Move SEA handling behind a single 'claim' interface 2019-02-07 23:10:45 +01:00
linkage.h
lse.h
memory.h arm64 updates for 5.1: 2019-03-10 10:17:23 -07:00
mmu_context.h
mmu.h arm64: Remove asm/memblock.h 2019-01-21 17:31:15 +00:00
mmzone.h
module.h arm64/ftrace: fix inadvertent BUG() in trampoline check 2019-04-08 16:58:13 +01:00
neon-intrinsics.h arm64/neon: Disable -Wincompatible-pointer-types when building with Clang 2019-02-18 10:54:47 +00:00
neon.h
numa.h
page-def.h
page.h
paravirt.h
pci.h
percpu.h
perf_event.h
pgalloc.h mm: treewide: remove unused address argument from pte_alloc functions 2019-01-04 13:13:47 -08:00
pgtable-hwdef.h arm64: Add workaround for Fujitsu A64FX erratum 010001 2019-02-28 16:24:25 +00:00
pgtable-prot.h arm64: kpti: Avoid rewriting early page tables when KASLR is enabled 2019-01-10 17:49:35 +00:00
pgtable-types.h
pgtable.h
pointer_auth.h
preempt.h
probes.h
proc-fns.h
processor.h arm64: Make PMR part of task context 2019-02-06 10:05:18 +00:00
ptdump.h arm64: dump: no need to check return value of debugfs_create functions 2019-01-31 17:38:19 +00:00
ptrace.h arm64: Make PMR part of task context 2019-02-06 10:05:18 +00:00
sdei.h
seccomp.h
sections.h
shmparam.h
signal32.h
simd.h
smp_plat.h
smp.h
sparsemem.h
spinlock_types.h
spinlock.h
stack_pointer.h
stackprotector.h
stacktrace.h
stage2_pgtable.h
stat.h
string.h
suspend.h
sync_bitops.h
syscall_wrapper.h
syscall.h syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
sysreg.h arm64: KVM: Expose sanitised cache type register to guest 2019-02-19 21:05:48 +00:00
system_misc.h KVM: arm/arm64: Add kvm_ras.h to collect kvm specific RAS plumbing 2019-02-07 23:10:45 +01:00
thread_info.h arm64: Remove documentation about TIF_USEDFPU 2019-02-26 16:41:10 +00:00
timex.h
tlb.h
tlbflush.h
topology.h
traps.h
uaccess.h arm64 updates for 5.1: 2019-03-10 10:17:23 -07:00
unistd32.h y2038: add 64-bit time_t syscalls to all 32-bit architectures 2019-02-07 00:13:28 +01:00
unistd.h y2038: add 64-bit time_t syscalls to all 32-bit architectures 2019-02-07 00:13:28 +01:00
uprobes.h
vdso_datapage.h
vdso.h
virt.h
vmap_stack.h
word-at-a-time.h
xor.h