Re: [PATCH v3 2/5] mtrr, x86: Fix MTRR lookup to handle inclusive entry

From: Kani, Toshimitsu
Date: Mon Mar 16 2015 - 17:05:07 EST


> On Mar 16, 2015, at 3:50 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
>
> * Toshi Kani <toshi.kani@xxxxxx> wrote:
>
>> When an MTRR entry is inclusive to a requested range, i.e.
>> the start and end of the request are not within the MTRR
>> entry range but the range contains the MTRR entry entirely,
>> __mtrr_type_lookup() ignores such a case because both
>> start_state and end_state are set to zero.
>>
>> This patch fixes the issue by adding a new flag, 'inclusive',
>> to detect the case. This case is then handled in the same
>> way as (!start_state && end_state).
>
> It would be nice to discuss the high level effects of this fix in the
> changelog: i.e. what (presumably bad thing) happened before the
> change, what will happen after the change? What did users experience
> before the patch, and what will users experience after the patch?

The original code uses this function to track
memory attributes of ioremap'd ranges
in order to avoid
any aliasing.
So, ignoring MTRR entries leads a tracked
memory attribute different from its effective
memory attribute. I will document more
details in the next version.

I will update the patchset next week.

Thanks,
-Toshi
--
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/