]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
x86/cpu: Validate CPUID leaf 0x2 EDX output
authorAhmed S. Darwish <darwi@linutronix.de>
Tue, 4 Mar 2025 08:51:13 +0000 (09:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:51:02 +0000 (12:51 +0100)
commit61104ea208404dc7c53ccb05090cd3e7d28e941f
treeedd072179f9506efa35b8179241dfb567f58db17
parentdafc649de2711b8844953b185d4183f63970def6
x86/cpu: Validate CPUID leaf 0x2 EDX output

commit 1881148215c67151b146450fb89ec22fd92337a7 upstream.

CPUID leaf 0x2 emits one-byte descriptors in its four output registers
EAX, EBX, ECX, and EDX.  For these descriptors to be valid, the most
significant bit (MSB) of each register must be clear.

Leaf 0x2 parsing at intel.c only validated the MSBs of EAX, EBX, and
ECX, but left EDX unchecked.

Validate EDX's most-significant bit as well.

Fixes: e0ba94f14f74 ("x86/tlb_info: get last level TLB entry number of CPU")
Signed-off-by: Ahmed S. Darwish <darwi@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: stable@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250304085152.51092-3-darwi@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/cpu/intel.c