Re: [PATCH v4 06/10] x86/microcode/AMD: Check patch size in verify_and_add_patch()

From: Maciej S. Szmigiero
Date: Fri Mar 23 2018 - 10:41:00 EST


On 22.03.2018 17:11, Borislav Petkov wrote:
> On Fri, Mar 16, 2018 at 12:08:17AM +0100, Maciej S. Szmigiero wrote:
>> @@ -505,7 +505,7 @@ static unsigned int verify_patch_size(u8 family, u32 patch_size,
>> break;
>> }
>>
>> - if (patch_size > min_t(u32, size, max_size)) {
>> + if (patch_size > min_t(size_t, size, max_size)) {
>
> So I don't like this conversion to 8-byte-width size_t's. It is not
> necessary. I'm pretty sure we can do fine with signed and unsigned ints.

It is possible to keep verify_patch_size() unmodified (with unsigned int
and u32) but microcode container files >4GB in size then may be rejected,
even if they are technically valid (while a bit unrealistic) on 64-bit
kernels.

Thanks,
Maciej