Re: [PATCH v4 6/7] mtrr, x86: Clean up mtrr_type_lookup()

From: Borislav Petkov
Date: Thu May 07 2015 - 03:52:22 EST


On Wed, May 06, 2015 at 05:42:10PM -0600, Toshi Kani wrote:
> Well, creating mtrr_type_lookup_fixed() is one of the comments I had in
> the previous code review. Anyway, let me make sure if I understand your
> comment correctly. Do the following changes look right to you?
>
> 1) Change the caller responsible for the condition checks.
>
> if ((start < 0x100000) &&
> (mtrr_state.have_fixed) &&
> (mtrr_state.enabled & MTRR_STATE_MTRR_FIXED_ENABLED))
> return mtrr_type_lookup_fixed(start, end);
>
> 2) Delete the checks with mtrr_state in mtrr_type_lookup_fixed() as they
> are done by the caller. Keep the check with '(start >= 0x100000)' to
> assure that the code handles the range [0xC0000 - 0xFFFFF] correctly.

That is a good defensive measure.

> static u8 mtrr_type_lookup_fixed(u64 start, u64 end)
> {
> int idx;
>
> if (start >= 0x100000)
> return MTRR_TYPE_INVALID;
>
> - if (!(mtrr_state.have_fixed) ||
> - !(mtrr_state.enabled & MTRR_STATE_MTRR_FIXED_ENABLED))
> - return MTRR_TYPE_INVALID;

Yeah, that's what I mean.

Thanks.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/