mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86/ucode: Abort parallel load early on any control thread error
EIO is not the only error that ucode_ops.apply_microcode() can produce. EINVAL, EEXISTS and ENXIO can be generated too, each of which mean that Xen is unhappy in some way with the proposed blob. Some of these can be bypassed with --force, which will cause the parallel load to be attempted. Fixes:5ed12565aa("microcode: rendezvous CPUs in NMI handler and load ucode") Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com> Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com> (cherry picked from commite0bb712a28) [Note: --force doesn't exist in this version of Xen]
This commit is contained in:
1 parent
d04a36f2e4
commit
f0fcf6979f
1 file changed
+2
-2
@@ -503,10 +503,10 @@ static int control_thread_fn(const struct microcode_patch *patch)
|
||||
atomic_inc(&cpu_updated);
|
||||
atomic_inc(&cpu_out);
|
||||
|
||||
if ( ret == -EIO )
|
||||
if ( ret )
|
||||
{
|
||||
printk(XENLOG_ERR
|
||||
"Late loading aborted: CPU%u failed to update ucode\n", cpu);
|
||||
"Late loading aborted: CPU%u failed to update ucode: %d\n", cpu, ret);
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
||||