Messages in this thread | | | Subject | Re: [PATCH v4 6/7] mtrr, x86: Clean up mtrr_type_lookup() | From | Toshi Kani <> | Date | Thu, 07 May 2015 07:45:04 -0600 |
| |
On Thu, 2015-05-07 at 09:52 +0200, Borislav Petkov wrote: > 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 for the clarification! Will change accordingly. -Toshi
| |