summaryrefslogtreecommitdiffstats
path: root/arch/sh/lib/memchr.S
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2019-02-13 17:14:42 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-04-05 22:31:30 +0200
commit8b847ace66d6c4d540855050c21aafc92a953213 (patch)
treed70431d692c625fc5ac56c7dbc199c3623ff508c /arch/sh/lib/memchr.S
parentd208133d6ae2c13618e9a215107223a7b7e4fe12 (diff)
downloadlinux-stable-8b847ace66d6c4d540855050c21aafc92a953213.tar.gz
linux-stable-8b847ace66d6c4d540855050c21aafc92a953213.tar.bz2
linux-stable-8b847ace66d6c4d540855050c21aafc92a953213.zip
ARM: 8840/1: use a raw_spinlock_t in unwind
[ Upstream commit 74ffe79ae538283bbf7c155e62339f1e5c87b55a ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch/sh/lib/memchr.S')
0 files changed, 0 insertions, 0 deletions