Re: [PATCH] x86/microcode: Change checksum to u32
From: Borislav Petkov
Date: Sat Feb 27 2016 - 17:29:41 EST
On Sat, Feb 27, 2016 at 06:23:29PM +0000, Chris Bainbridge wrote:
> /* calculate the checksum */
> orig_sum = 0;
> i = (MC_HEADER_SIZE + data_size) / DWSIZE;
> while (i--)
> orig_sum += ((int *)mc)[i];
Ok, since SDM says that all fields should be treated as unsigneds when
doing the checksum verification, that cast above should be (u32 *) too.
Also, the extended table signature should be fixed to use u32s too:
ext_tablep = (int *)ext_header;
i = ext_table_size / sizeof(u32);
while (i--)
ext_table_sum += ext_tablep[i];
...
Care to complete your patch please?
Thanks.
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.