Messages in this thread | | | Date | Thu, 7 May 2015 09:52:10 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH v4 6/7] mtrr, x86: Clean up mtrr_type_lookup() |
| |
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. --
| |