On 2024-11-22 16:39:47 [+0100], Marco Elver wrote: > Per documentation, stack_depot_save_flags() was meant to be usable from > NMI context if STACK_DEPOT_FLAG_CAN_ALLOC is unset. However, it still > would try to take the pool_lock in an attempt to save a stack trace in > the current pool (if space is available). > > This could result in deadlock if an NMI is handled while pool_lock is > already held. To avoid deadlock, only try to take the lock in NMI > context and give up if unsuccessful. > > The documentation is fixed to clearly convey this. > > Link: https://lkml.kernel.org/r/Z0CcyfbPqmxJ9uJH@xxxxxxxxxxxxxxxx > Fixes: 4434a56ec209 ("stackdepot: make fast paths lock-less again") > Reported-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > Signed-off-by: Marco Elver <elver@xxxxxxxxxx> Reviewed-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Sebastian