[tip:x86/microcode] x86/microcode: Fix the ancient deprecated microcode loading method

From: tip-bot for Borislav Petkov
Date: Wed Apr 10 2019 - 16:50:10 EST


Commit-ID: 24613a04ad1c0588c10f4b5403ca60a73d164051
Gitweb: https://git.kernel.org/tip/24613a04ad1c0588c10f4b5403ca60a73d164051
Author: Borislav Petkov <bp@xxxxxxx>
AuthorDate: Thu, 4 Apr 2019 22:14:07 +0200
Committer: Borislav Petkov <bp@xxxxxxx>
CommitDate: Wed, 10 Apr 2019 22:41:24 +0200

x86/microcode: Fix the ancient deprecated microcode loading method

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@xxxxxxx>
Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jann Horn <jannh@xxxxxxxxxx>
Link: https://lkml.kernel.org/r/20190405133010.24249-3-bp@xxxxxxxxx
---
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 5260185cbf7b..8a4a7823451a 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;