summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>2025-03-27 19:05:02 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-10 14:37:41 +0200
commit763f4d638f71cb45235395790a46e9f9e84227fd (patch)
treef73e26f15296ed1f3b9e769b89b4427d19ccd21b
parent10edc4cecad4b61613a4daa9bd29500294c9b109 (diff)
downloadlinux-763f4d638f71cb45235395790a46e9f9e84227fd.tar.gz
linux-763f4d638f71cb45235395790a46e9f9e84227fd.tar.bz2
linux-763f4d638f71cb45235395790a46e9f9e84227fd.zip
x86/microcode/AMD: Fix __apply_microcode_amd()'s return value
commit 31ab12df723543047c3fc19cb8f8c4498ec6267f upstream. When verify_sha256_digest() fails, __apply_microcode_amd() should propagate the failure by returning false (and not -1 which is promoted to true). Fixes: 50cef76d5cb0 ("x86/microcode/AMD: Load only SHA256-checksummed patches") Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20250327230503.1850368-2-boris.ostrovsky@oracle.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/x86/kernel/cpu/microcode/amd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
index c683e8dedfee..0ee172ce2d21 100644
--- a/arch/x86/kernel/cpu/microcode/amd.c
+++ b/arch/x86/kernel/cpu/microcode/amd.c
@@ -603,7 +603,7 @@ static bool __apply_microcode_amd(struct microcode_amd *mc, u32 *cur_rev,
unsigned long p_addr = (unsigned long)&mc->hdr.data_code;
if (!verify_sha256_digest(mc->hdr.patch_id, *cur_rev, (const u8 *)p_addr, psize))
- return -1;
+ return false;
native_wrmsrl(MSR_AMD64_PATCH_LOADER, p_addr);