Loading
printk: Skip log flush in NMI context when logbuf_lock is held
hulk inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IB963V -------------------------------- In nmi_trigger_cpumask_backtrace(), printk_safe_flush() is called after sending NMI to flush the logs. When logbuf_lock is already held and the current CPU is in printk-safe context (e.g., NMI context), attempting to acquire the lock again can lead to deadlock. Modify the function to return early when detecting logbuf_lock is held and current CPU is in printk-safe context. This prevents deadlock scenarios where CPU0 holds the lock while other CPUs try to acquire it in NMI context. Fixes: 099f1c84 ("printk: introduce per-cpu safe_print seq buffer") Signed-off-by:Xiaomeng Zhang <zhangxiaomeng13@huawei.com>