Commit c8ccc56f authored by Chen Zhou's avatar Chen Zhou Committed by Zheng Zengkai
Browse files

printk: fix potential deadlock in printk()

hulk inclusion
category: bugfix
bugzilla: 34546, https://gitee.com/openeuler/kernel/issues/I4JKT1


CVE: NA

----------------------------------------

When one cpu panic, the panic cpu send NMI to other cpus, if one of
the non-panic cpus is in printk() and get stopped in function
console_trylock_spinning() before releasing sem->lock, the panic cpu
may spin waiting sem->lock in function console_trylock_spinning().

Reinit console_sem in zap_lock() to fix this.

Signed-off-by: default avatarChen Zhou <chenzhou10@huawei.com>
Reviewed-by: default avatarJian Cheng <cj.chengjian@huawei.com>
Signed-off-by: default avatarChen Zhou <chenzhou10@huawei.com>
Signed-off-by: default avatarCheng Jian <cj.chengjian@huawei.com>
Reviewed-by: default avatarXie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent 721cc05b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment