linux_dsm_epyc7002/arch/arm64/kernel
Mark Rutland 93f8cc947b arm64: entry: remove redundant IRQ flag tracing
[ Upstream commit df06824767cc9a32fbdb0e3d3b7e169292a5b5fe ]

All EL0 returns go via ret_to_user(), which masks IRQs and notifies
lockdep and tracing before calling into do_notify_resume(). Therefore,
there's no need for do_notify_resume() to call trace_hardirqs_off(), and
the comment is stale. The call is simply redundant.

In ret_to_user() we call exit_to_user_mode(), which notifies lockdep and
tracing the IRQs will be enabled in userspace, so there's no need for
el0_svc_common() to call trace_hardirqs_on() before returning. Further,
at the start of ret_to_user() we call trace_hardirqs_off(), so not only
is this redundant, but it is immediately undone.

In addition to being redundant, the trace_hardirqs_on() in
el0_svc_common() leaves lockdep inconsistent with the hardware state,
and is liable to cause issues for any C code or instrumentation
between this and the call to trace_hardirqs_off() which undoes it in
ret_to_user().

This patch removes the redundant tracing calls and associated stale
comments.

Fixes: 23529049c6 ("arm64: entry: fix non-NMI user<->kernel transitions")
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210107145310.44616-1-mark.rutland@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-01-27 11:55:07 +01:00
..
probes
vdso
vdso32
.gitignore
acpi_numa.c
acpi_parking_protocol.c
acpi.c
alternative.c
armv8_deprecated.c
asm-offsets.c
cacheinfo.c
cpu_errata.c arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver 2020-11-13 09:47:08 +00:00
cpu_ops.c
cpu-reset.h
cpu-reset.S
cpufeature.c arm64: cpufeature: remove non-exist CONFIG_KVM_ARM_HOST 2021-01-17 14:17:04 +01:00
cpuidle.c
cpuinfo.c
crash_core.c
crash_dump.c
debug-monitors.c
efi-entry.S
efi-header.S
efi-rt-wrapper.S
efi.c
entry-common.c arm64: entry: fix EL1 debug transitions 2020-11-30 12:11:38 +00:00
entry-fpsimd.S
entry-ftrace.S
entry.S arm64: entry: fix non-NMI user<->kernel transitions 2020-11-30 12:11:38 +00:00
fpsimd.c
ftrace.c
head.S
hibernate-asm.S
hibernate.c
hw_breakpoint.c
hyp-stub.S
image-vars.h
image.h
insn.c
io.c
irq.c arm64: entry: move el1 irq/nmi logic to C 2020-11-30 12:11:38 +00:00
jump_label.c
kaslr.c
kexec_image.c arm64: kexec_file: Fix sparse warning 2020-11-10 13:11:44 +00:00
kgdb.c
kuser32.S
machine_kexec_file.c
machine_kexec.c
Makefile
module-plts.c
module.c
mte.c arm64: mte: fix prctl(PR_GET_TAGGED_ADDR_CTRL) if TCF0=NONE 2020-12-30 11:53:33 +01:00
paravirt.c
pci.c
perf_callchain.c
perf_event.c
perf_regs.c perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
pointer_auth.c
process.c arm64 fixes for -rc7 2020-12-02 12:27:37 -08:00
proton-pack.c arm64: proton-pack: Add KRYO2XX silver CPUs to spectre-v2 safe-list 2020-11-13 09:47:08 +00:00
psci.c arm64: psci: Avoid printing in cpu_psci_cpu_die() 2020-11-10 13:11:44 +00:00
ptrace.c
reloc_test_core.c
reloc_test_syms.S
relocate_kernel.S
return_address.c
scs.c
sdei.c arm64: entry: fix NMI {user, kernel}->kernel transitions 2020-11-30 12:11:38 +00:00
setup.c
signal32.c
signal.c arm64: entry: remove redundant IRQ flag tracing 2021-01-27 11:55:07 +01:00
sigreturn32.S
sleep.S
smccc-call.S
smp_spin_table.c
smp.c arm64: smp: Tell RCU about CPUs that fail to come online 2020-11-10 13:11:44 +00:00
stacktrace.c
suspend.c
sys32.c
sys_compat.c
sys.c
syscall.c arm64: entry: remove redundant IRQ flag tracing 2021-01-27 11:55:07 +01:00
time.c
topology.c
trace-events-emulation.h
traps.c arm64: entry: fix NMI {user, kernel}->kernel transitions 2020-11-30 12:11:38 +00:00
vdso.c
vmlinux.lds.S