| From 9e29b8fd1a715375ea2bbe77bab7ca49c0725f82 Mon Sep 17 00:00:00 2001 |
| From: Borislav Petkov <bp@suse.de> |
| Date: Thu, 4 Apr 2019 22:14:07 +0200 |
| Subject: x86/microcode: Fix the ancient deprecated microcode loading method |
| |
| [ Upstream commit 24613a04ad1c0588c10f4b5403ca60a73d164051 ] |
| |
| Commit |
| |
| 2613f36ed965 ("x86/microcode: Attempt late loading only when new microcode is present") |
| |
| added the new define UCODE_NEW to denote that an update should happen |
| only when newer microcode (than installed on the system) has been found. |
| |
| But it missed adjusting that for the old /dev/cpu/microcode loading |
| interface. Fix it. |
| |
| Fixes: 2613f36ed965 ("x86/microcode: Attempt late loading only when new microcode is present") |
| Signed-off-by: Borislav Petkov <bp@suse.de> |
| Reviewed-by: Thomas Gleixner <tglx@linutronix.de> |
| Cc: Jann Horn <jannh@google.com> |
| Link: https://lkml.kernel.org/r/20190405133010.24249-3-bp@alien8.de |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/x86/kernel/cpu/microcode/core.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c |
| index 5260185cbf7ba..8a4a7823451ac 100644 |
| --- a/arch/x86/kernel/cpu/microcode/core.c |
| +++ b/arch/x86/kernel/cpu/microcode/core.c |
| @@ -418,8 +418,9 @@ static int do_microcode_update(const void __user *buf, size_t size) |
| if (ustate == UCODE_ERROR) { |
| error = -1; |
| break; |
| - } else if (ustate == UCODE_OK) |
| + } else if (ustate == UCODE_NEW) { |
| apply_microcode_on_target(cpu); |
| + } |
| } |
| |
| return error; |
| -- |
| 2.20.1 |
| |