mirror of
https://github.com/xen-project/xen.git
synced 2026-10-30 03:00:05 +01:00
xen/ucode: Make Intel's microcode_sanity_check() stricter
The SDM states that data size must be a multiple of 4, but Xen doesn't check
this propery.
This is liable to cause a later failures, but should be checked explicitly.
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: 8752ad83e7
master date: 2024-09-24 18:57:38 +0100
This commit is contained in:
1 parent
2c61ab4071
commit
84d8fbd883
1 file changed
+5
-2
@@ -155,10 +155,13 @@ static int microcode_sanity_check(const struct microcode_patch *patch)
|
||||
uint32_t sum;
|
||||
|
||||
/*
|
||||
* Total size must be a multiple of 1024 bytes. Data size and the header
|
||||
* must fit within it.
|
||||
* The SDM states:
|
||||
* - Data size must be a multiple of 4.
|
||||
* - Total size must be a multiple of 1024 bytes. Data size and the
|
||||
* header must fit within it.
|
||||
*/
|
||||
if ( (total_size & 1023) ||
|
||||
(data_size & 3) ||
|
||||
data_size > (total_size - MC_HEADER_SIZE) )
|
||||
{
|
||||
printk(XENLOG_WARNING "microcode: Bad size\n");
|
||||
|
||||