linux-stable/arch/ia64/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
..
syscalls mm/madvise: introduce process_madvise() syscall: an external memory hinting API 2020-10-18 09:27:10 -07:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
acpi-ext.c
acpi.c
asm-offsets.c
audit.c
brl_emu.c
crash.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
crash_dump.c
cyclone.c
dma-mapping.c dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
efi.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
efi_stub.S
elfcore.c
entry.h
entry.S ia64: enable HAVE_COPY_THREAD_TLS, switch to kernel_clone_args 2020-06-23 10:49:56 +02:00
err_inject.c
esi.c efi/ia64: Use existing helpers to locate ESI table 2020-02-23 21:59:42 +01:00
esi_stub.S
fsys.S
fsyscall_gtod_data.h
ftrace.c maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault 2020-06-17 10:57:41 -07:00
gate-data.S
gate.lds.S
gate.S
head.S mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
ia64_ksyms.c ia64: fix min_low_pfn/max_low_pfn build errors 2020-09-01 19:34:11 +03:00
iosapic.c locking, arch/ia64: Reduce <asm/smp.h> header dependencies by moving XTP bits into the new <asm/xtp.h> header 2020-08-06 16:13:13 +02:00
irq.c locking, arch/ia64: Reduce <asm/smp.h> header dependencies by moving XTP bits into the new <asm/xtp.h> header 2020-08-06 16:13:13 +02:00
irq.h ia64: replace setup_irq() by request_irq() 2020-03-13 15:21:28 -07:00
irq_ia64.c ia64: Remove perfmon 2020-09-11 09:34:32 -07:00
irq_lsapic.c
ivt.S mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
kprobes.c ia64: kprobes: Use generic kretprobe trampoline handler 2020-09-08 11:52:33 +02:00
machine_kexec.c
Makefile ia64: fix build error with !COREDUMP 2020-10-18 09:27:09 -07:00
Makefile.gate
mca.c kernel: rename show_stack_loglvl() => show_stack() 2020-06-09 09:39:13 -07:00
mca_asm.S mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
mca_drv.c
mca_drv.h
mca_drv_asm.S
minstate.h
module.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
msi_ia64.c
nr-irqs.c
numa.c
pal.S
palinfo.c
patch.c
pci-dma.c
perfmon_default_smpl.c
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
process.c sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
ptrace.c ia64: Remove perfmon 2020-09-11 09:34:32 -07:00
relocate_kernel.S mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
sal.c locking, arch/ia64: Reduce <asm/smp.h> header dependencies by moving XTP bits into the new <asm/xtp.h> header 2020-08-06 16:13:13 +02:00
salinfo.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
setup.c locking, arch/ia64: Reduce <asm/smp.h> header dependencies by moving XTP bits into the new <asm/xtp.h> header 2020-08-06 16:13:13 +02:00
sigframe.h
signal.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
smp.c A set of locking fixes and updates: 2020-08-10 19:07:44 -07:00
smpboot.c ia64: Remove perfmon 2020-09-11 09:34:32 -07:00
stacktrace.c
sys_ia64.c
time.c ia64: replace setup_irq() by request_irq() 2020-03-13 15:21:28 -07:00
topology.c
traps.c
unaligned.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
uncached.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
unwind.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
unwind_decoder.c
unwind_i.h ia64: kernel: unwind_i.h: Replace zero-length array with flexible-array 2020-06-15 23:08:31 -05:00
vmlinux.lds.S vmlinux.lds.h: Split ELF_DETAILS from STABS_DEBUG 2020-09-01 09:50:35 +02:00