mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
x86/microcode: Add missing unlock in microcode_update_helper()
microcode_update_helper() may return early while holding cpu_add_remove_lock, hence preventing any writers from taking it again. Leave through the `put` label instead so it's properly released. Fixes:5ed12565aa("microcode: rendezvous CPUs in NMI handler and load ucode") Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> master commit:b35b22acb8master date: 2023-06-05 16:11:10 +0100
This commit is contained in:
1 parent
32f3486f3f
commit
6ecb20151e
1 file changed
+2
-1
@@ -596,7 +596,8 @@ static long cf_check microcode_update_helper(void *data)
|
||||
printk(XENLOG_WARNING
|
||||
"CPU%u is expected to lead ucode loading (but got CPU%u)\n",
|
||||
nmi_cpu, cpumask_first(&cpu_online_map));
|
||||
return -EPERM;
|
||||
ret = -EPERM;
|
||||
goto put;
|
||||
}
|
||||
|
||||
patch = parse_blob(buffer->buffer, buffer->len);
|
||||
|
||||