linux_dsm_epyc7002/arch/sh/kernel
Peter Zijlstra 58c644ba51 sched/idle: Fix arch_cpu_idle() vs tracing
We call arch_cpu_idle() with RCU disabled, but then use
local_irq_{en,dis}able(), which invokes tracing, which relies on RCU.

Switch all arch_cpu_idle() implementations to use
raw_local_irq_{en,dis}able() and carefully manage the
lockdep,rcu,tracing state like we do in entry.

(XXX: we really should change arch_cpu_idle() to not return with
interrupts enabled)

Reported-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lkml.kernel.org/r/20201120114925.594122626@infradead.org
2020-11-24 16:47:35 +01:00
..
cpu
syscalls mm/madvise: introduce process_madvise() syscall: an external memory hinting API 2020-10-18 09:27:10 -07:00
vsyscall
.gitignore
asm-offsets.c
crash_dump.c
debugtraps.S
disassemble.c
dma-coherent.c dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h> 2020-10-06 07:07:06 +02:00
dumpstack.c
dwarf.c
entry-common.S
ftrace.c
head_32.S
hw_breakpoint.c
idle.c sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
io_trapped.c
io.c
iomap.c
ioport.c
irq_32.c
irq.c
kdebugfs.c
kgdb.c
kprobes.c
machine_kexec.c
machvec.c
Makefile
module.c
nmi_debug.c
perf_callchain.c
perf_event.c
process_32.c
process.c
ptrace_32.c
ptrace.c
reboot.c
relocate_kernel.S
return_address.c
setup.c
sh_bios.c
sh_ksyms_32.c
signal_32.c tracehook: clear TIF_NOTIFY_RESUME in tracehook_notify_resume() 2020-10-17 15:04:36 -06:00
smp.c
stacktrace.c
swsusp.c
sys_sh32.c
sys_sh.c
syscalls_32.S
time.c
topology.c
traps_32.c
traps.c
unwinder.c
vmlinux.lds.S