From 875918c333a68d2d83d4f72fcc3128d997172e2a Mon Sep 17 00:00:00 2001 From: Zhang Ming <154842638@qq.com> Date: Thu, 25 Mar 2021 20:59:19 +0800 Subject: [PATCH] arm64/mpam: fix a possible deadlock in mpam_enable hulk inclusion category: bugfix bugzilla: 51497 CVE: NA Reference: https://gitee.com/openeuler/kernel/issues/I3D58V ---------------------------------- No unlock operation is performed on the mpam_devices_lock before the return statement, which may lead to a deadlock. Signed-off-by: Zhang Ming <154842638(a)qq.com> Reported-by: Jian Cheng Suggested-by: Jian Cheng Reviewed-by: Wang ShaoBo Reviewed-by: Xie XiuQi Signed-off-by: Zheng Zengkai --- arch/arm64/kernel/mpam/mpam_device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/arm64/kernel/mpam/mpam_device.c b/arch/arm64/kernel/mpam/mpam_device.c index 1aca24f570d3..86aaf52146bc 100644 --- a/arch/arm64/kernel/mpam/mpam_device.c +++ b/arch/arm64/kernel/mpam/mpam_device.c @@ -560,8 +560,10 @@ static void __init mpam_enable(struct work_struct *work) mutex_lock(&mpam_devices_lock); mpam_enable_squash_features(); err = mpam_allocate_config(); - if (err) + if (err) { + mutex_unlock(&mpam_devices_lock); return; + } mutex_unlock(&mpam_devices_lock); mpam_enable_irqs(); -- GitLab