aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/suspend.h
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2019-02-13 17:14:42 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2019-02-26 11:24:51 +0000
commit74ffe79ae538283bbf7c155e62339f1e5c87b55a (patch)
tree20a212474598f9a7b83583416a17ff42024f4f4d /arch/arm/include/asm/suspend.h
parentARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t (diff)
downloadlinux-dev-74ffe79ae538283bbf7c155e62339f1e5c87b55a.tar.xz
linux-dev-74ffe79ae538283bbf7c155e62339f1e5c87b55a.zip
ARM: 8840/1: use a raw_spinlock_t in unwind
Mostly unwind is done with irqs enabled however SLUB may call it with irqs disabled while creating a new SLUB cache. I had system freeze while loading a module which called kmem_cache_create() on init. That means SLUB's __slab_alloc() disabled interrupts and then ->new_slab_objects() ->new_slab() ->setup_object() ->setup_object_debug() ->init_tracking() ->set_track() ->save_stack_trace() ->save_stack_trace_tsk() ->walk_stackframe() ->unwind_frame() ->unwind_find_idx() =>spin_lock_irqsave(&unwind_lock); Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/include/asm/suspend.h')
0 files changed, 0 insertions, 0 deletions