It might cause double unlock (deadlock) on architectures that did not
use NMI to stop the CPUs.
I have created a conservative fix for this problem for SLES, see
https://github.com/openSUSE/kernel-source/blob/SLE15-SP2-UPDATE/patches.suse/printk-panic-Avoid-deadlock-in-printk-after-stopping-CPUs-by-NMI.patch
It solves the problem only on x86 architecture.
There are many hacks that try to solve various scenarios but it
is getting too complicated and does not solve all problems.
The only real solution is lockless printk(). First piece is a lockless
ringbuffer. See the last version at
https://lore.kernel.org/r/20200501094010.17694-1-john.ogness@xxxxxxxxxxxxx
We prefer to work on the lockless solution instead of adding more
complicated workarounds. This is why I even did not try to upstream
the patch for SLES.
In the meantime, you might also consider removing the offending
message from the panic notifier if it is not really important.
Best Regards,
Petr
.