diff options
author | Ashok Raj <ashok.raj@intel.com> | 2023-01-30 13:39:48 -0800 |
---|---|---|
committer | Borislav Petkov (AMD) <bp@alien8.de> | 2023-01-31 16:47:03 +0100 |
commit | 25d0dc4b957cc8674f8554e85f18a00467e876d7 (patch) | |
tree | 47d159c908305f56818e2bad0656ae994f5cac2f /arch/x86/kernel/cpu/microcode | |
parent | a9a5cac225b0830d1879640e25231a37e537f0da (diff) |
x86/microcode: Allow only "1" as a late reload trigger value
Microcode gets reloaded late only if "1" is written to the reload file.
However, the code silently treats any other unsigned integer as a
successful write even though no actions are performed to load microcode.
Make the loader more strict to accept only "1" as a trigger value and
return an error otherwise.
[ bp: Massage commit message. ]
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20230130213955.6046-3-ashok.raj@intel.com
Diffstat (limited to 'arch/x86/kernel/cpu/microcode')
-rw-r--r-- | arch/x86/kernel/cpu/microcode/core.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c index 61d57d9b93ee..fdd1e7eb90f9 100644 --- a/arch/x86/kernel/cpu/microcode/core.c +++ b/arch/x86/kernel/cpu/microcode/core.c @@ -475,11 +475,8 @@ static ssize_t reload_store(struct device *dev, ssize_t ret = 0; ret = kstrtoul(buf, 0, &val); - if (ret) - return ret; - - if (val != 1) - return size; + if (ret || val != 1) + return -EINVAL; cpus_read_lock(); |