linux-stable/arch/microblaze/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 microblaze: Add missing irqflags.h header 2020-02-25 12:33:19 +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
Makefile microblaze: consolidate GPIO reset handling 2018-06-21 13:57:39 +02:00
asm-offsets.c
dma.c dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h> 2020-10-06 07:07:06 +02:00
entry-nommu.S microblaze: fix handling of multiple pending signals 2013-02-03 18:16:02 -05:00
entry.S microblaze: Fix _reset() function 2020-02-25 12:26:18 +01:00
exceptions.c signal: Remove the task parameter from force_sig_fault 2019-05-29 09:31:43 -05:00
ftrace.c microblaze: function_graph: Simplify with function_graph_enter() 2018-11-27 20:30:18 -05:00
head.S microblaze: Align comments with register usage 2020-01-09 14:25:56 +01:00
hw_exception_handler.S mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
irq.c Revert "irqchip/xilinx: Enable generic irq multi handler" 2020-04-01 09:12:24 +01:00
kgdb.c kgdb/treewide: constify struct kgdb_arch arch_kgdb_ops 2018-12-30 08:33:06 +00:00
mcount.S microblaze: ftrace: Remove check of obsolete variable function_trace_stop 2014-07-18 13:57:08 -04:00
microblaze_ksyms.c crypto: lib/sha1 - remove unnecessary includes of linux/cryptohash.h 2020-05-08 15:32:17 +10:00
misc.S microblaze: Add sync to tlb operations 2020-02-25 12:33:19 +01:00
module.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
process.c sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
prom.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ptrace.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
reset.c microblaze: Switch to standard restart handler 2019-09-19 10:43:32 +02:00
setup.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
signal.c tracehook: clear TIF_NOTIFY_RESUME in tracehook_notify_resume() 2020-10-17 15:04:36 -06:00
stacktrace.c microblaze: add loglvl to microblaze_unwind() 2020-06-09 09:39:11 -07:00
sys_microblaze.c mm: add ksys_mmap_pgoff() helper; remove in-kernel calls to sys_mmap_pgoff() 2018-04-02 20:16:11 +02:00
syscall_table.S microblaze: generate uapi header and system call table files 2018-11-16 08:24:34 +01:00
timer.c microblaze: Replace setup_irq() by request_irq() 2020-03-09 14:36:23 +01:00
traps.c kernel: rename show_stack_loglvl() => show_stack() 2020-06-09 09:39:13 -07:00
unwind.c microblaze: add loglvl to microblaze_unwind() 2020-06-09 09:39:11 -07:00
vmlinux.lds.S microblaze: Define percpu sestion in linker file 2020-02-25 12:33:19 +01:00