x86/bugs: Fix use of possibly uninit value in amd_check_tsa_microcode()
For kernels compiled with CONFIG_INIT_STACK_NONE=y, the value of __reserved
field in zen_patch_rev union on the stack may be garbage. If so, it will
prevent correct microcode check when consulting p.ucode_rev, resulting in
incorrect mitigation selection.
This is a stable-only fix.
Cc: <stable@vger.kernel.org>
Signed-off-by: Michael Zhivich <mzhivich@akamai.com>
Fixes: 78192f511f ("x86/bugs: Add a Transient Scheduler Attacks mitigation")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2cf0c4130b
commit
eaf108b66d
@@ -599,6 +599,8 @@ static bool amd_check_tsa_microcode(void)
|
||||
p.model = c->x86_model;
|
||||
p.ext_model = c->x86_model >> 4;
|
||||
p.stepping = c->x86_stepping;
|
||||
/* reserved bits are expected to be 0 in test below */
|
||||
p.__reserved = 0;
|
||||
|
||||
if (c->x86 == 0x19) {
|
||||
switch (p.ucode_rev >> 8) {
|
||||
|
||||
Reference in New Issue
Block a user